2016-08-30 1 views
0

내 사무실에서 내부 API를 여러 번 연결하는 응용 프로그램을 만들려고합니다. 이것은 동일한 네트워크 (IP를 통해 액세스)에있는 서버에 대한 간단한 GET 요청입니다. 그러나 일부 시스템에서는 .Send()이 영원히 중단됩니다. 동일한 코드는 일부 시스템에서 잘 작동하는 동안영원히 .Send() WinHTTP 및 MSXML 응답하지 않는다

Func get_url($RequestURL) 
    ;Global $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") ; didn't work too 
    Local $oHTTP = ObjCreate("MSXML2.ServerXMLHTTP.3.0") 
    $oHTTP.Open("GET", $RequestURL, False) 
    $oHTTP.Send() 
    if $oHTTP.status == 200 Then 
      Return $oHTTP.ResponseText 
    Else 
      Return SetError($oHTTP.status, 0, False) 
    EndIf 
EndFunc 

, 기타에, 그것은 $oHTTP.Send()에 영원히 중단 : 여기에 코드입니다. 그러나이 컴퓨터에서는 telnet, netcat 및 모든 웹 브라우저를 사용하여 아무런 문제없이 IP에 연결할 수 있습니다. 방화벽은 양쪽에서 꺼져 있습니다.

이 문제에 대해 조사하는 동안이 문제에 직면 한 것은 나뿐만 아니라 내가 찾은 주제 중 하나도 해결책이 없음을 알았습니다. 이 기능이 사용 중지 되었습니까? 그렇다면 대체 무엇입니까?

답변

0

해결책은 버그 자체만큼 이상합니다.

스크립트 시작시에만 InetGet("http://google.com")이 추가되었으며 모든 것이 정상적으로 작동합니다.

아마도 소켓을 열지 않고도 Windows가 앱을 열지 못하게 될 수도 있습니다 ... 또는 정말 버그입니다 (웹보다 나보다 나이가 많은이 버그에 관한 주제를 볼 때 그렇습니다.).

관련 문제