这里写问题描述 RT 需要访问的网页需要输入用户名密码,请问用http-client 怎么访问?
https://www.workerman.net/doc/workerman/components/workerman-http-client.html $http->post('https://example.com/', ['key1' => 'value1', 'key2' => 'value2'], function ($response) { var_dump($response->getStatusCode()); echo $response->getBody(); }, function ($exception) { echo $exception; });
看表单的name属性,['key1' => 'value1', 'key2' => 'value2'],改成对应的,直接POST
己经解决了,解决方法如下: $http->request($post, [ 'method' => 'GET', 'version' => '1.1', 'headers' => ['Connection' => 'keep-alive'], 'headers' => ['Authorization' => 'Basic base64用户名:密码'], 试了几种方法,这种行 Key value那个方法不知道为什么认证不能通过。这个是查看浏览器通讯数据得到的get的数据弄的。
获取的token是对的吗,你用的是哪一个jwt插件
你用的是POST,为什么用这个'method' => 'GET',呢
'headers' => ['Connection' => 'keep-alive'], 'headers' => ['Authorization' => 'Basic base64用户名:密码'], 改成 'headers' => [ 'Connection' => 'keep-alive', 'Authorization' => 'Basic base64用户名:密码'], 不然会覆盖掉其中一个headers
我试了几种方式,只有这种方式,能通过验证,用户名密码是打开浏览器的开发者模式看看到的。 用get是因为我连接的设备只支持get.用post得不到数据。
可能我连接的设备不需要'Connection' => 'keep-alive',还有就是我试了很多种方式,大部份实际发送的数据'Authorization' => 'Basic base64用户名:密码'],这个中间的base64用户名密码这段会发生变化,而不能通过验证。
https://www.workerman.net/doc/workerman/components/workerman-http-client.html
$http->post('https://example.com/', ['key1' => 'value1', 'key2' => 'value2'], function ($response) {
var_dump($response->getStatusCode());
echo $response->getBody();
}, function ($exception) {
echo $exception;
});
看表单的name属性,['key1' => 'value1', 'key2' => 'value2'],改成对应的,直接POST
己经解决了,解决方法如下:
$http->request($post, [
'method' => 'GET',
'version' => '1.1',
'headers' => ['Connection' => 'keep-alive'],
'headers' => ['Authorization' => 'Basic base64用户名:密码'],
试了几种方法,这种行 Key value那个方法不知道为什么认证不能通过。这个是查看浏览器通讯数据得到的get的数据弄的。
获取的token是对的吗,你用的是哪一个jwt插件
你用的是POST,为什么用这个'method' => 'GET',呢
'headers' => ['Connection' => 'keep-alive'],
'headers' => ['Authorization' => 'Basic base64用户名:密码'],
改成
'headers' => [
'Connection' => 'keep-alive',
'Authorization' => 'Basic base64用户名:密码'],
不然会覆盖掉其中一个headers
我试了几种方式,只有这种方式,能通过验证,用户名密码是打开浏览器的开发者模式看看到的。
用get是因为我连接的设备只支持get.用post得不到数据。
可能我连接的设备不需要'Connection' => 'keep-alive',还有就是我试了很多种方式,大部份实际发送的数据'Authorization' => 'Basic base64用户名:密码'],这个中间的base64用户名密码这段会发生变化,而不能通过验证。