Estou solucionando um arquivo de lote que usa Wget para enviar solicitações para um site em execução no IIS 7. O arquivo de lote é executado Wget duas vezes, a primeira vez para acessar o site através de um POST, o segundo para executar algum código de manutenção no site através de um GET. O servidor que executa o arquivo em lote e o servidor que hospeda o site estão na mesma rede privada.
A primeira solicitação POST é registrada no log do site do IIS. De acordo com a saída de Wget, parece estar fazendo várias tentativas para a segunda solicitação GET - 20 no total (geralmente) - mas nenhuma delas está sendo registrada.
O conteúdo (editado) do arquivo em lote problemático:
wget --output-document=- --save-cookies cookies.txt --keep-session-cookies --post-data "[email protected]&Password=not-the-best-password&RememberMe=false" --no-check-certificate https://example.com/account/logon?returnurl=/
wget --output-document=- --load-cookies cookies.txt --no-check-certificate https://example.com/things/stuff/maintenance-code?x=E74B15D4-414E-468C-A340-621CC901CF1B
Um exemplo (editado) da saída Wget (erro padrão) para as duas primeiras tentativas da segunda solicitação GET da última execução do arquivo em lote:
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc
--2013-04-19 05:15:16-- https://example.com/things/stuff/maintenance-code?x=E74B15D4-414E-468C-A340-621CC901CF1B
Resolving example.com... 172.17.21.255
Connecting to example.com|172.17.21.255|:443... connected.
WARNING: cannot verify example.com's certificate, issued by 'blah-blah-blah':
Self-signed certificate encountered.
HTTP request sent, awaiting response... Read error (No such file or directory) in headers.
Retrying.
--2013-04-19 05:20:21-- (try: 2) https://example.com/things/stuff/maintenance-code?x=E74B15D4-414E-468C-A340-621CC901CF1B
Connecting to example.com|172.17.21.255|:443... connected.
WARNING: cannot verify example.com's certificate, issued by 'blah-blah-blah':
Self-signed certificate encountered.
HTTP request sent, awaiting response... Read error (No such file or directory) in headers.
Retrying.
Há outro arquivo de lote que também usa o Wget e também o executa duas vezes, na primeira vez que faz o login exatamente como o outro arquivo de lote e na segunda vez para executar algum outro código de manutenção no site e também através de um GET, e ambas as solicitações POST e GET são registradas no IIS. Um exemplo editado da saída Wget (erro padrão) para a solicitação GET para a execução mais recente desse arquivo em lote:
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc
--2013-04-19 06:58:50-- https://example.com/things/other-stuff/other-maintenance-code
Resolving example.com... 172.17.21.255
Connecting to example.com|172.17.21.255|:443... connected.
WARNING: cannot verify example.com's certificate, issued by 'blah-blah-blah':
Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 15 [application/json]
Saving to: 'STDOUT'
0K 100% 2.05M=0s
2013-04-19 06:59:06 (2.05 MB/s) - '-' saved [15/15]