php - PHP CURL 显示没有基本身份验证的“content_type”
问题描述
相同的代码在两个环境(本地主机和本地开发)中都可以正常工作,但在第三个环境(产品)中却不行。第三个是VPS。我必须对我正在连接的 API 使用基本身份验证。
这是我的代码:
$curl = curl_init();
//For basic auth
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "SomeUsername:AndItPass");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
));
$result = curl_exec($curl);
dump($curl);die();
正常工作时的输出dump($curl);die();
(如在本地主机中)是:
curl resource @61 ▼
url: "http://XXXXX:8089/api/usuarios/login?perfil=2&rutPoem=76279543&rut=18863583"
content_type: "application/json; charset=utf-8"
http_code: 200
header_size: 259
request_size: 194
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 0.022104
namelookup_time: 3.9E-5
connect_time: 0.008342
pretransfer_time: 0.008463
size_upload: 0.0
size_download: 251.0
speed_download: 11355.0
speed_upload: 0.0
download_content_length: 251.0
upload_content_length: -1.0
starttransfer_time: 0.022072
redirect_time: 0.0
redirect_url: ""
primary_ip: "XXXXXXXX"
certinfo: []
primary_port: 8089
local_ip: "192.168.4.108"
local_port: 64594
}
但是在VPS中我得到了这个:
curl resource @345 ▼
url: "http://XXXXX:8089/api/usuarios/login?perfil=2&rutPoem=76279543&rut=18863583"
content_type: null
http_code: 0
header_size: 0
request_size: 0
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 0.200986
namelookup_time: 0.000126
connect_time: 0.0
pretransfer_time: 0.0
size_upload: 0.0
size_download: 0.0
speed_download: 0.0
speed_upload: 0.0
download_content_length: -1.0
upload_content_length: -1.0
starttransfer_time: 0.0
redirect_time: 0.0
redirect_url: ""
primary_ip: ""
certinfo: []
primary_port: 0
local_ip: ""
local_port: 0
}
怎么了?如果我做一个,我有“空”dump(curl_error($curl));
解决方案
正如您问题的评论中所讨论的那样,在我看来您的 IP 已被阻止。您可以通过在 cURL 请求中加载代理来检查这一点。如果请求未被阻止,则意味着您的服务器 IP 已被服务器防火墙列入黑名单。您可以要求 API 所有者解除对您的 IP 的阻止,但也可以确保您首先了解您是如何被列入黑名单的,以使您的应用程序符合远程服务器规则。
推荐阅读
- azure-data-factory - 在 Azure 数据工厂管道中按日期查询
- ios - 如何在集合视图单元格之间正确添加间距?
- python - Discord.py - 计算机器人所在的服务器数量
- css - Angular Flex 布局总是显示滚动条
- javascript - 从 Javascript 自动启动 youtube 视频
- python-3.x - uWSGI:隐式插件请求 nolang
- java - 在eclipse中的测试包中添加了一个junit测试文件但是它不会运行
- reactjs - (React 和 Firebase 部署)刷新时出现空白页面
- python - 调整图像大小并仅在中心周围显示 100x100 像素
- python - 如何使用在 keras 训练期间发生变化的函数