php curl函數出現亂碼
今天在使用curl採集網站資訊時輸出介面中文是亂碼的,於是我新增 第一行新增常規方法header("Content-Type: text/html;charset=utf-8");結果證明沒有用。於是看了一下對應網站響應頭。
content-type是gbk,不對啊,難道要轉到utf-8(),好吧試試。
echo mb_convert_encoding($out, "utf-8", "GBK");沒效果,那我用這個
echo iconv("GBK", "UTF-8", $out);,依然沒效果。咦,啥情況,於是再看響應頭,發現有個content-encoding,這個從字面上看好像和編碼有關係,這個有啥用呢,這是一個內容編碼,詳見請看HTTP 協議中的 Content-Encoding,我感覺找到原因了。搜尋一番,有人講可以使用curl_setopt($ch, CURLOPT_ENCODING,'gzip');不過我沒效果,查詢一番後,
function http_get($URL) { $agent = $_SERVER['HTTP_USER_AGENT']; if( !$agent ){ return false; } $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);//這個是不直接在頁面輸出 curl_setopt($c, CURLOPT_USERAGENT, $agent);//這個註釋點好像不影響 curl_setopt($c, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate')); curl_setopt($c, CURLOPT_ENCODING, 'gzip,deflate');//這個是解釋gzip內容................. curl_setopt($c, CURLOPT_URL, $URL); curl_setopt($c, CURLOPT_TIMEOUT,2); $contents = curl_exec($c); $contents = mb_convert_encoding($contents, 'utf-8', 'GBK,UTF-8,ASCII'); $httpCode = curl_getinfo($c,CURLINFO_HTTP_CODE); curl_close($c); return ['data'=>$contents,'http_code'=>$httpCode]; }
相關推薦
php curl函數出現亂碼
今天在使用curl採集網站資訊時輸出介面中文是亂碼的,於是我新增 第一行新增常規方法header("Content-Type: text/html;charset=utf-8");結果證明沒有用。於是看了一下對應網站響應頭。 content-type是gbk,不對啊,難
php curl簡單采集圖片生成base64編碼(並附curl函數參數說明)
transfer alt ref sign ans copyto article pan exec 許多年前的代碼突然拿來一用,特做此筆記(此處的code用來定位內部錯誤位置,非http code) [php] view plain copy <?ph
php callback函數
bsp 用戶 back mixed 調用函數 定義 作用 用戶自定義函數 parameter //自定義函數function study($username){ echo $username. ‘ is study...<br/>‘;}function p
php 常用函數
uid 集中 客戶 前行 int class 出現 函數 影響 die(‘‘) 終止當前php文件的執行,並且向客戶端輸出一個終止原因說明.@ 壓制住當前行代碼警告消息. time() 返回當前系統時間,以秒為消息的整數 $id = mysqli_i
使用 curl() 函數實現不同站點之間註冊用戶的同步
return pla ie 10 erro close header 實現 bst none 一 需求 在A站點註冊一個新用戶,那麽,在B站點也會被同時註冊 二 思路 在A站點註冊的同時,調用API接口實現在B站點也會被同時註冊 三 實現 主要代碼如下: 1 func
php filter_var函數判斷郵箱,url,ip格式
後來 使用 gdi 都是 gmail filter mail http 郵箱 以前使用php的時候還不知道有過濾器filter這玩意,那時候判斷郵箱、url和ip地址格式是否符合都是用正則表達式。後來隨著使用的逐漸深入,才知道在php中也可以使用內置的函數庫過濾器filte
php筆記--函數(1)
family ica 支持 內置 12px -- add ping function 1.使用 function 開頭;2.函數名可以用字母或下劃線開頭 ;3.函數體必須在大括號內; 1 <?php 2 3 function a_b() { 4 5
PHP·函數總結
長度 lob inf () lsp 顯示 software func bst PHP 指 PHP:超文本預處理器(譯者註:PHP: Hypertext Preprocessor,遞歸命名) PHP 是一種服務器端的腳本語言,類似 ASP PHP 腳本在服務器上執行 PHP
php float函數四舍五入問題
oat round float 問題 floor函數 val 轉換 整形 3.1 不四舍五入只取整數floor函數 2.1 = 2 2.6 = 2 不四舍五入浮點進1ceil函數:2.1 = 3 2.6 = 3
(thinkPHP)PHP常用函數大全
getc 例如 port result 數據處理 判斷 文件和目錄 phone 結果集 usleep() 函數延遲代碼執行若幹微秒。unpack() 函數從二進制字符串對數據進行解包。uniqid() 函數基於以微秒計的當前時間,生成一個唯一的 ID。time_sleep_
PHP substr() 函數
div substr() 參數 實例 substr str sta nbsp p s 實例 從字符串中返回 "world": 運行實例 定義和用法 substr() 函數返回字符串的一部分。 註釋:如果 start 參數是負數且 length 小於或等於 start,
php,函數
賦值 數組 參數 body 操作 echo 列表 name 一個數 1.函數定義: 函數就是將一些重復使用到的功能寫在一個獨立的代碼塊中,在需要時單獨調用。創建函數的基本語法格式為: function fun_name($str1,$str2,,,,$strn){ fun_
ajax提交java後臺接收參數出現亂碼
class ati -1 5% 文字 timeout 亂碼 中文字符 java後臺 1.現象: 前臺ajax提交查詢數據 $.ajax({ url: ‘bdmap/xx.action‘, data:para,
PHP fpassthru() 函數
如果 tip 檢索 www school 下載 部分 有效 處理 定義和用法 fpassthru() 函數輸出文件指針處的所有剩余數據。 該函數將給定的文件指針從當前的位置讀取到 EOF,並把結果寫到輸出緩沖區。 語法 fpassthru(file) 參數描述 fil
PHP set_error_handler() 函數
rst 未在 comm 接受 false 如果 返回值 用法 ger 實例 通過 set_error_handler() 函數設置用戶自定義的錯誤處理程序,然後觸發錯誤(通過 trigger_error()): <?php // 用戶定義的錯誤處理函數 func
17)PHP,函數基礎和參數問題
個數 str fun ont 數據 ges 實參 col 返回 (1)函數定義形式: 1 function 函數名字(形參1,形參2,形參3.。。。。。。。) 2 { 3 4
PHP isset 函數作用
efi array tab pla containe 作用 不為 lai html PHP isset 函數作用 isset函數是檢測變量是否設置。 格式:bool isset ( mixed var [, mixed var [, ...]] ) 返回值: 若變量
php常用函數整理
blog ole 類型 整理 bject php常用函數 字符 min color 1.類型轉換 php基本類型有 int,float,string,bool,array,object,轉換方式有三種,這裏只介紹下面一種 (int) (bool) (float) (s
php parse_url()函數和parse_str()函數
spa 缺少 http blog query sco art out port 1.parse_url():解析URL,並返回其組成部分 原型:mixed parse_url ( string $url [, int $component = -1 ] ) 此函數返回一
curl 函數總結
curl參數:$url 請求 URL string;$body array ;$header array;function postCurl($url,$body,$header,$type="POST"){ //1.創建一個curl資源 $ch = curl_init(); //2.