Troubleshooting of curl errors in Mandarin: Difference between revisions

Jump to navigation Jump to search
m (Text replacement - ": Image:Owl icon.jpg " to "{{Tips}} ")
Tags: Mobile edit Mobile web edit
Line 111: Line 111:
建議解決方案
建議解決方案
* 建議改成使用 JavaScript 基礎的爬蟲 (JavaScript-bases browser) 來代替 cURL 命令的方案 <ref>[https://www.zenrows.com/blog/cloudflare-error-1010#how-to-avoid Cloudflare Error 1010: What Is It and How to Avoid - ZenRows]</ref>。
* 建議改成使用 JavaScript 基礎的爬蟲 (JavaScript-bases browser) 來代替 cURL 命令的方案 <ref>[https://www.zenrows.com/blog/cloudflare-error-1010#how-to-avoid Cloudflare Error 1010: What Is It and How to Avoid - ZenRows]</ref>。
== 如何解決 400 Bad Request 錯誤:UTF-8 字元編碼問題 ==
'''問題分析:'''
遇到錯誤的 cURL 命令:
<pre>
$ curl "https://api.search.brave.com/res/v1/web/search?q=\"XXX\"+公司簡介+產品+服務" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: YOUR_API_KEY_HERE"
> <html><body><h1>400 Bad request</h1>
Your browser sent an invalid request.
</body></html>
</pre>
'''解決方案'''
正確處理 URL 編碼:中文字元和特殊符號需要正確進行 URL 編碼以避免 400 Bad Request 錯誤(線上工具:[https://www.urlencoder.org/ URL Encode and Decode - Online]):
* {{kbd | key=<nowiki>"XXX"</nowiki>}} → {{kbd | key=<nowiki>%22XXX%22</nowiki>}}
* {{kbd | key=<nowiki>公司簡介</nowiki>}} → {{kbd | key=<nowiki>%E5%85%AC%E5%8F%B8%E7%B0%A1%E4%BB%8B</nowiki>}}
* {{kbd | key=<nowiki>產品</nowiki>}} → {{kbd | key=<nowiki>%E7%94%A2%E5%93%81</nowiki>}}
* {{kbd | key=<nowiki>服務</nowiki>}} → {{kbd | key=<nowiki>%E6%9C%8D%E5%8B%99</nowiki>}}
'''修正後的 cURL 命令:'''
<pre>
$ curl "https://api.search.brave.com/res/v1/web/search?q=%22XXX%22+%E5%85%AC%E5%8F%B8%E7%B0%A1%E4%BB%8B+%E7%94%A2%E5%93%81+%E6%9C%8D%E5%8B%99" \
-H "Accept: application/json"  \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: YOUR_API_KEY_HERE"
</pre>


== 如何解決錯誤 405 Method Not Allowed ==
== 如何解決錯誤 405 Method Not Allowed ==

Navigation menu