我在一個字符串中有一個不幸的外國字符的網址。當我將它們發送到curl_setopt($ go,CURLOPT_URL,$ url)時沒有任何反應,該命令沒有運行。 另一方面,當我使用我的Chrome瀏覽器並複製具有外來字符的鏈接位置並將其粘貼到瀏覽器上時,這些外部字符編碼爲類似於%20%D5%F0%EF%EB%EF% E3%E9%F3%F4%DD%F2,我知道%20代表空格..並且這個轉換後的字符串與curl命令一起工作 已使用urlencode,iconv,但還沒有找到正確的方法。結果不符合粘貼的結果。有什麼功能嗎? chars是希臘人。 非常感謝cURL不處理外部http字符php
0
A
回答
0
什麼是該網頁的原始編碼?你能給我們的網址和部分源代碼?
嘗試字符串轉換爲所需的字符編碼
$response = html_entity_decode(htmlentities(curl_exec($ch)), ENT_COMPAT, 'UTF-8');
$response = iconv('windows-1253','utf-8',$response);
1
我有同樣的問題。
當我運行curl函數和url只包含英文字符時,一切都很好。
但是,當URL包含希臘字符,然後它不起作用,並返回「HTTP錯誤400.請求的URL是無效的。」
我搜索了很多和解決是使用下面的命令:
$url = mb_convert_encoding($url, "iso-8859-7", "UTF-8");
下面是一個完整的例子:
$ch = curl_init();
$url = mb_convert_encoding($url, "iso-8859-7", "UTF-8");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_HEADER, true);
$page = curl_exec($ch);
curl_close($ch);
相關問題
- 1. PHP CURL:不允許完整處理HTTP頭文件?
- 2. PHP http處理
- 3. 在PHP中處理cURL
- 4. PHP cURL API響應處理
- 5. 外部處理不同長度的C#字符串
- 6. PHP cURL HTTP PUT
- 7. Curl批處理文件HTTP POST URI
- 8. 處理使用curl發送的HTTP頭
- 9. Elasticsearch-PHP需要cURL或自定義HTTP處理程序
- 10. php file_get_contents()..不處理特殊字符?
- 11. 在HTTP POST中使用gae python處理外來字符
- 12. PHP-GD:處理Unicode字符
- 13. PHP表單驗證與外部處理
- 14. Facebook POST PHP HTTP curl
- 15. PHP中的部分處理部分查詢字符串
- 16. Cordova - http請求不處理本地php
- 17. 用PHP處理HTTP POST
- 18. PHP Curl UTF-8字符集
- 19. cURL PHP奇怪的字符
- 20. 同時處理GET和POST而不使用cURL的PHP代理
- 21. 如何處理外部DLL中的連接字符串?
- 22. 在Oracle外部表中處理UTF-8字符
- 23. 在php中處理多字節字符
- 24. php curl多錯誤處理程序
- 25. 使用curl處理動態url php
- 26. 處理ASCII範圍外的字符
- 27. 在python中處理外國字符
- 28. 在PHP中處理字符串時出現意外的結果
- 29. 瀏覽器/ PHP如何處理設置字符集外的字符?
- 30. Gradle - 處理外部資源
http://www.oktabit.gr/index的.asp?omada_3_id = 1&omada3 =%D3%F4%E1%E8%E5%F1%EF%DF%20%D5%F0%EF%EB%EF%E3%E9%F3%F4%DD%F2&omada2 = 1&OMAS = %B8%F4%EF%E9%EC%E1%20Desktop%20%D3%F5%F3%F4%DE%EC%E1%F4%E1&show = 1&seires = 15 是編碼url,如果I; m正確的編碼g是windows-1253 我不知道你是否熟悉希臘語,但你可以點擊左欄,所有列出的所有類別,點擊任何,大概你可以找到列出的'服務器'和這個每個垂直菜單類別有一些希臘字符的原始網址。 – user1356820 2012-04-28 08:17:49
$ timeout = 5; $ chw = curl_init(); $ cookies = $ suppliers。'.txt'; curl_setopt($ chw,CURLOPT_POSTFIELDS,$ postData); curl_setopt($ chw,CURLOPT_URL,$ url); curl_setopt($ chw,CURLOPT_HEADER,0); curl_setopt($ chw,CURLOPT_FOLLOWLOCATION,TRUE); curl_setopt($ chw,CURLOPT_RETURNTRANSFER,TRUE); ($ chw,CURLOPT_USERAGENT,「Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3)Gecko/20070309 Firefox/2.0.0.3」); curl_setOpt($ chw,CURLOPT_POST,false); curl_setopt($ chw,CURLOPT_COOKIEFILE,$ cookies); – user1356820 2012-04-28 10:25:39
代碼不起作用。仍然越來越外國希臘字符在他的HTML網址字符串,而不是編碼的..謝謝 – user1356820 2012-04-28 11:25:39