我必须从php代码中点击一个.aspx
页面网址我正在尝试使用curl但是我收到了波纹管错误并且网址中没有空格。
HTTP/1.1 400 Bad Request Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Mon, 05 Oct 2015 08:31:13 GMT Connection: close Content-Length: 311
贝娄是我想要击中的卷曲代码。任何身体都会告诉我为什么会出现这个错误。
$api_url = 'http://www.test/xyz/OnlineOrder.aspx?';
$url= $api_url . 'InvoiceNo=' . $invoice;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo $data = curl_exec($ch);
echo $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
答案 0 :(得分:6)
我得到Http response 200 ok
我仔细观察了网址,我发现一个带有空格的参数导致了错误的请求。如果你有一些像问题这样的东西从网址中删除空格并有参数。
使用urlencode($url);
答案 1 :(得分:0)
如果对任何人都有用,我的问题是我必须在curl中使用POST
方法,但不需要任何POST
参数,因为API只能从URL查询字符串中获取值。因此,在POSTFIELDS
中传递空数组解决了我的问题。我的猜测是,这取决于服务器上的Apache / PHP设置,是否允许没有发布参数的POST
请求。