如何在URL搜索字符串中发送带有特殊字符的字符串?

时间:2016-11-21 08:40:58

标签: string curl

我想使用CURL创建HTTP请求。在这里,我想发送带有特殊字符的查询字符串。如何在键中发送以下字符串?

" #include int main(){return 0; }"

我的代码如下,但它无效

curl -X POST -H 'Content-Type: application/json' -d '{"problemCode": "SE0034", "compilerId": 11, "source": "#include<stdio.h> int main(){ return 0; }"}' "http://92161595.problems.sphere-engine.com/api/v3/submissions?access_token=12345678dsw21"

我不知道这里出了什么问题?

2 个答案:

答案 0 :(得分:0)

我无法使用您提供的示例重现您的错误。运行与{"message":"Unauthorized","data":[]}一起返回的精确curl命令。

我建议验证您是否拥有正确的访问令牌,并且如果您动态生成source

,则表示您正在转义任何双引号

答案 1 :(得分:0)

最终我找到了解决方案,针对上述问题的解决方案是我们需要对字符串进行编码以在创建HTTP请求之前删除不支持的字符。

前)

我更改了字符串&#34; #include int main(){return 0; }&#34; 进入&#34;%23include%3Cstdio.h%3E + int + main%28%29%7B + return + 0%3B +%7D&#34; 。现在它工作正常。