我有以下代码,但它始终返回407
HTTP状态代码。
$url = 'http://whatismyip.org';
$client = new Client();
$options = array(
'proxy' => array(
'http' => 'tcp://@x.x.x.x:8010',
),
'auth' => array('d80fe9ebasab73d21a4', '', 'basic')
);
$crawler = $client->request('GET', $url, $options);
$status = $client->getResponse()->getStatus();
echo $status; // 407
我正在使用Goutte和Guzzle 6.我开始尝试使用setDefaultOption
设置代理,但此方法已被弃用。
我的用户名和空密码肯定是正确的,因为它在命令行上与curl
一起使用:
curl -U d80fe9ebasab73d21a4: -vx x.x.x.x:8010 http://whatismyip.org/
我已经花了几个小时在这上面,我将不胜感激任何帮助!
答案 0 :(得分:1)
您是否尝试直接使用代理选项实例化客户端?
像这样:
{ name: 'daMan',
likings: ['bicicle','running','sleeping'],
family: [ {name: 'Ted', type: 'son'},{name: "Marga, type:'Wife'}]
}
答案 1 :(得分:1)
$config = [
'proxy' => [
'http' => 'xx.xx.xx.xx:8080'
]
];
$client = new Client($config);
$client->setAuth('username', 'password', 'basic');
$crawler = $client->request('GET', $url);
$status = $client->getResponse()->getStatus();
echo $status;
我认为它是客户端配置,而不是请求参数。