我正在尝试使用模拟浏览器的cURL连接到包含端口号(449)的URL。
经过两天的尝试,我得到的只是“错误#7,无法连接到www.atomy.com端口449:连接超时”
这是我最近的尝试......
$url="https://www.atomy.com:449/us/Home/Account/Login";
$agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0';
$header=array(
'Host: www.atomy.com:449',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-us,en;q=0.5',
'Accept-Encoding: gzip,deflate,br',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Keep-Alive: 300',
'Connection: keep-alive',
'DNT: 1',
'Upgrade-Insecure-Requests: 1',
'Cache-Control: max-age=0',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_PORT, '449');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_HEADER, 0); // don't return headers
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://google.com');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
echo $result;
echo 'error no: '.curl_errno($ch) . '<br/>';
echo 'error: '.curl_error($ch) . '<br/>';
curl_close ($ch);
die();
exit();
接下来是更多代码,我将使用simple_html_dom.php在提交登录表单之前检索隐藏的表单值。
但在我考虑提交表单之前,我需要先解决这个问题。
提前感谢您提出任何建议。
PS:网址是一个asp.net页面。不确定这是否重要。