【问题标题】:Proper encode data before sending to url with urlencode在使用 urlencode 发送到 url 之前正确编码数据
【发布时间】:2016-08-19 06:38:31
【问题描述】:

我正在向 URL 发送数据,它给了我这个错误

失败了! HTTP/1.1 505 HTTP 版本不支持

我的代码:

<?php 
$pickup_time= '2016-8-20 11:11';
$city = 'Islamabad';

$pickup_address= 'aaa';
$dropoff_address = 'bbb';
$pickup_area= 'Street 1, F-8, Islamabad, Islamabad Capital Territory, Pakistan';
$drop_area= 'Karachi, Sindh, Pakistan';
$multi_areas = 'Lake View Park, Islamabad, Islamabad Capital Territory, Pakistan';
$description = 'nill';

$booking_fare = '30590';
$deadmile_distance = 'nill';
$actual_distance = '1519';
$payment_method = '1';

$pickup_area = preg_replace('/[.,]/', '', $pickup_area);// remove commas from string
$drop_area = preg_replace('/[.,]/', '', $drop_area);// remove commas from string
$multi_areas = preg_replace('/[.,]/', '', $multi_areas);// remove commas from string


$jsonData = file_get_contents("https://daewoocab-test.herokuapp.com/api/v1/customer/923331524145/booking/new?token=6ab676ddd7bf00101408ea3a27fdbb8ad22e9dcdf2faafdcd2ef0efc1509d463&booking[pickup_time]=$pickup_time&booking[city]=$city&booking[pickup_address]=$pickup_address&booking[drop_address]=$dropoff_address&booking[pickup_area]=$pickup_area&booking[drop_area]=$drop_area&booking[multi_areas]=($multi_areas)&booking[description]=$description&booking[booking_fare]=$booking_fare&booking[deadmile_distance]=$deadmile_distance&booking[actual_distance]=$actual_distance&booking[payment_method]=$payment_method");
$json = json_decode($jsonData,true);
echo $json['bookings']['id'];
?>

但搜索后,我使用 urlencode 和字符串来删除空格,现在我的代码是:

$jsonData = file_get_contents("https://daewoocab-test.herokuapp.com/api/v1/customer/923331524145/booking/new?token=6ab676ddd7bf00101408ea3a27fdbb8ad22e9dcdf2faafdcd2ef0efc1509d463&booking[pickup_time]=" . urlencode($pickup_time)"&booking[city]=$city&booking[pickup_address]=$pickup_address&booking[drop_address]=$dropoff_address&booking[pickup_area]=". urlencode($pickup_area)"&booking[drop_area]=". urlencode($drop_area)"&booking[multi_areas]=(" . urlencode($multi_areas)")&booking[description]=$description&booking[booking_fare]=$booking_fare&booking[deadmile_distance]=$deadmile_distance&booking[actual_distance]=$actual_distance&booking[payment_method]=$payment_method

它仍然给我语法错误,我已经检查了 100 次,但没有发现任何语法错误。我在这里做错了吗?

【问题讨论】:

  • 当你把网址放在file_get_contents() 方法中时,在浏览器中?你得到回应了吗?只需尝试在地址栏中敲击该 url 以确认其是否为 URL 生成或编码方面的语法错误

标签: php ajax url urlencode


【解决方案1】:

检查一下:

$jsonData = file_get_contents("https://daewoocab-test.herokuapp.com/api/v1/customer/923331524145/booking/new?token=6ab676ddd7bf00101408ea3a27fdbb8ad22e9dcdf2faafdcd2ef0efc1509d463&booking[pickup_time]=" . urlencode($pickup_time)."&booking[city]=$city&booking[pickup_address]=$pickup_address&booking[drop_address]=$dropoff_address&booking[pickup_area]=". urlencode($pickup_area)."&booking[drop_area]=". urlencode($drop_area)."&booking[multi_areas]=(" . urlencode($multi_areas).")&booking[description]=$description&booking[booking_fare]=$booking_fare&booking[deadmile_distance]=$deadmile_distance&booking[actual_distance]=$actual_distance&booking[payment_method]=$payment_method");

但这不是正确的方法。您应该打破它们的变量,然后将它们相互连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 2019-11-18
    • 2021-10-31
    • 1970-01-01
    • 2013-04-17
    • 2021-08-24
    • 1970-01-01
    • 2016-09-15
    相关资源
    最近更新 更多