我正在尝试提出此请求
fopen("http://192.168.0.116:9090/sendsms?phone=4456666&text=url#&password=","r");
从我的Android设备发送短信,但我似乎无法成功发送消息,我怀疑#
使事情变得复杂。
网址中的#
必须作为邮件本身的一部分保留在那里。
phone
是电话号码,text
是短信。
如何让get请求有效?。
答案 0 :(得分:2)
是的,#
字符表示网址中的片段,因此此后的部分实际上会被忽略。你需要正确地逃避它,例如:
$myUrl = 'http://192.168.0.116:9090/sendsms?'.http_build_query([
'phone' => '4456666',
'text' => 'url#',
'password' => '',
]);
Docs here on `http_build_query'
您还可以使用urlencode
正确转义单个值。
答案 1 :(得分:1)
这将起作用
fopen("http://192.168.0.116:9090/sendsms?phone=4456666&text=url%23&password=","r");
#
为%23