1

我正在尝试使用来自 libimobiledevice 的 ideviceactivation 通过 Windows cmd 访问 PHP 文件(包含重定向指令)。该文件由 GearHost 托管。在我开始收到此错误之前,我会在命令提示符中指定文件的目录,并且 ideviceactivation 将访问 PHP 文件并重定向到指定的 URL,其中托管另一个 PHP 文件并包含程序的实际说明。但是,我无法再成功获取重定向文件以访问真实文件,而不会出现以下错误:

   Connection #0 to host (redirect file host) left intact
   error_message: Failed to connect to (actual file host) port 80: 
   Timed out<br>error_no: 7

如果我通过命令提示符指定真实 PHP 文件的目录,它会完美运行,但这不是我的目标。

这是我的重定向代码部分。它使用 curl 访问第二个文件:

   $_POST['activation-info']  = $data;

   $myurl = "http://website.com/secondphpfile";

   $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL , $myurl ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1); 
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect: 100-continue", "Accept: */*", "Content-Length: ".strlen($_POST['activation-info']), "Content-Type: multipart/form-data; boundary=------------------------0edb00d9406ed52e--------------------------0edb00d9406ed52e"));


    curl_setopt($ch, CURLOPT_USERAGENT , "iOS Device Activator 
           (MobileActivation-20 built on Jan 15 2012 at 19:07:28)" );
    curl_setopt($ch, CURLOPT_POST , 0); 
    curl_setopt($ch, CURLOPT_POSTFIELDS , $_POST['activation-info']); 

    $xml_response = curl_exec($ch); 

    if (curl_errno($ch)) { 

        $error_message = curl_error($ch); 
        $error_no = curl_errno($ch);

        echo "error_message: " . $error_message . "<br>";
        echo "error_no: " . $error_no . "<br>";
    }

    curl_close($ch);

此代码应该重定向到指定 $myurl 处的文件,但它返回上述错误。任何建议都会很棒!

4

1 回答 1

3

Connection #0 to host (redirect file host) left intact不是错误。错误是,Failed to connect to (actual file host) port 80 : Timed outhttps://curl.haxx.se/libcurl/c/libcurl-errors.html#CURLECOULDNTCONNECTcurlerror_no: 7

简单地说,连接(actual file host) port 80 超时

于 2019-09-06T10:27:16.720 回答