1

API に従来の GET リクエストを送信しようとしています: http://mywebsite.com?arg1=val1&arg2=val2問題は、 val1またはval2に「&」または「?」が含まれている場合、どうすればよいかわかりません。キャラクター。私はurlencode()関数を知っていますが、引数を区切るために使用される「&」と引数に含まれる「&」との間に違いがある必要があるため、この場合に役立つかどうかはわかりません。

誰でも助けることができますか?ありがとう

4

5 に答える 5

2

おそらく、使用してみることができますhttp_build_query()

http://php.net/http_build_query

$data = array('foo'=>'bar',
              'baz'=>'a&c',
              'cow'=>'d?f');

echo http_build_query($data); // foo=bar&baz=a%26c&cow=d%3Ff
于 2013-08-13T18:22:16.653 に答える
1

これらの変数を手動で渡す場合は urlencode() を使用する必要があります。そうでない場合は、ブラウザが自動的にこれを行います。

また、PHP 側では、$_GET、$_COOKIE、$_POST に対して PHP が行うため、urldecode() は必要ありません。

于 2013-08-13T18:24:31.580 に答える
0

私は個人的にこれを行います:

$your_array = array('1'=>'something', '2'=>'another thing!');
$send_in_url = json_encode($your_array);
$send_in_url = base64_encode($send_in_url);

header('Location: www.mywebsite.com?code='.$send_in_url);

API で次のことを行います。

$code = base64_decode($_GET['code']);
$array = json_decode($code);

echo $array[1]; // this will output "something"
于 2013-08-13T18:38:21.830 に答える