Como saber em que ponto uma solicitação falha no Windows 8

Como saber em que ponto uma solicitação falha no Windows 8

Estou testando um pequeno script no Windows 8, que tenta buscar uma página web simples na porta 80. Porém a conexão de rede falha sempre com erro10053.

Pensei inicialmente em um problema de firewall (estou executando o McAffee), mas não tenho mais tanta certeza (nada nos logs; ainda falha quando desativo o firewall).

Então, o que posso fazer para delimitar o problema? Por exemplo, como ter certeza se a solicitação saiu da placa de rede?

Executei o Wireshark e ele realmente me mostrou uma pequena atividade:

(eu) SYN

(ip remoto) SYN, ACK

(eu) ACK

(eu) RST, ACK

Então, isso significa que a solicitação foi realmente enviada?

desde já, obrigado

Responder1

Erro Winsock10053 = "WSAECONNABORTED":

SOCKET_ERROR: Uma conexão estabelecida foi anulada pelo software em sua máquina host.

O "software" mencionado é (provavelmente)Winsockem si.

Encontradoesta página, que tem uma excelente sinopse que parece cobrir exatamente o que você está enfrentando, pois provavelmente o seu script não está formando um cabeçalho HTTP adequado.

Um HTTP POST deve ser enviado para um servidor HTTP.
O servidor começa a ler o POST e percebe que o cabeçalho da solicitação HTTP é inválido.
Ele envia imediatamente uma resposta HTTP (com um status de erro, talvez status=400) e fecha a conexão sem tentar continuar lendo o restante da solicitação HTTP que está por vir.

Enquanto isso, o cliente ainda está gravando o restante da solicitação HTTP no soquete. (Lembre-se de que uma conexão de soquete TCP/IP precisa ser fechada em ambos os lados. Nesse caso, o servidor fechou seu lado, mas o cliente ainda está bombeando dados para a conexão semiaberta.)

O cliente termina de gravar o HTTP POST no o soquete – o que significa que os dados foram armazenados em buffer no Winsock. O aplicativo cliente tenta ler a resposta HTTP, mas não consegue porque a retransmissão de saída (dos dados armazenados em buffer pelo WinSock) falhou e a conexão do soquete foi encerrada no lado do cliente (pelo Winsock). Mesmo que o servidor HTTP tenha enviado a resposta, ela será perdida e não poderá ser recuperada. O erro que seu aplicativo receberá ao tentar ler a resposta HTTP no soquete é WSAECONNABORTED.

informação relacionada