php模擬curl,PHP模擬炒股演算法

本文目錄一覽:

PHP curl 模擬表單數據流multipart/form-data上傳文件

在調用公眾號介面”.$token.”type=”.$type;

上傳永久素材文件總是返回 “{\”errcode\”:41005,\”errmsg\”:\”media data missing\”}”

經過多次測試使用下面的方式,可以正常上傳

//調用測試

protected static $url;

protected static $delimiter;

protected static $instance;

public function index()

{

        static::$delimiter = uniqid();

$basename = Request::instance()-root();

if (pathinfo($basename, PATHINFO_EXTENSION) == ‘php’) {

    $basename = dirname($basename);

}

        $result=$this-wxAddMaterial($token,$basename.’/upload/images/gnlog.jpg’,’image’);

    }

// 新增其他類型永久素材

public function wxAddMaterial($token,$filename=”,$type=”) {

    // 設置請求參數

    static::$url = “”.$token.”type=”.$type;

    $filePath = str_replace(‘\\’, ‘/’, $filename);

    // 發送請求

    $imginfo=pathinfo($filePath);

    $fields = array(

        ‘media’=file_get_contents(“.”.$filePath),

        ‘filename’=$imginfo[“basename”],

);

    $res = $this-putPart( $fields);

    // 發送請求

    return $res;

}

//推送文件流

public function putPart($param) {

    $post_data = static::buildData($param);

    $curl = curl_init(static::$url);

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($curl, CURLOPT_POST, true);

    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);

    curl_setopt($curl, CURLOPT_HTTPHEADER, [

        “Content-Type: multipart/form-data; boundary=” . static::$delimiter,

        “Content-Length: ” . strlen($post_data)

]);

    $response = curl_exec($curl);

    curl_close($curl);

    return $response;

}

//編譯請求頭格式和數據流

private static function buildData($param){

    $data = ”;

    $eol = “\r\n”;

    $upload = $param[‘media’];

    unset($param[‘media’]);

    foreach ($param as $name = $content) {

        $data .= “–” . static::$delimiter . “\r\n”

            . ‘Content-Disposition: form-data; name=”‘ . $name . “\”\r\n\r\n”

            . $content . “\r\n”;

}

    $data .= “–” . static::$delimiter . $eol

        . ‘Content-Disposition: form-data; name=”media”; filename=”‘ . $param[‘filename’] . ‘”‘ . “\r\n”

        . ‘Content-Type:application/octet-stream’.”\r\n\r\n”;

    $data .= $upload . “\r\n”;

    $data .= “–” . static::$delimiter . “–\r\n”;

    return $data;

}

根據自己的實際情況稍作修改

怎樣用php中的curl模擬登陸

在我的博客《PHP cURL模擬登錄與採集分析過程詳解》做了詳細的介紹,步驟有:

1. 訪問目標網站

2. 打開Firebug(快捷鍵:F12)

3. 清除【Cookie】

4. 重新訪問目標網站

5. 設置【網路】為[保持]狀態

6. 填寫表單,提交登錄請求

7. 利用【網路】,分析提交信息

8. 複製請求的cURL命令

9. 分析命令傳輸的參數與Cookie和前面頁面響應內容的關聯性

10. 如果遇到Cookie和響應內容都無法查找到的參數,Ctrl+S保存當前頁面為全部,利用文本搜索該參數的位置

11. 利用cURL命令組裝模擬登錄程序

詳情請參考博客內容:

PHP:curl模擬form表單上傳文件

需要模擬的就是上面form表單。

curl_setop設置選項

PS:上面例子只有在php5以下版本有效,換言之現在根本沒有用 根本沒有用 根本沒有用 [手動摔桌子],而且現在網上充斥的全是這種過時的失效版本

@字元什麼,現在根本沒有用了,不要懷疑你自己,還有網上說只要加上:

就能起效,不用懷疑,這也是沒有效的[手動摔桌子],這個選項已經棄用了,現在。

用curlFile代替@,也不需要使用 CURLOPT_SAFE_UPLOAD

替換

CURLFILE類的詳細使用

PS: $path不要使用網路路徑 ( ),要使用本地路徑(/files/img.png)

原創文章,作者:NDET,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142773.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NDET的頭像NDET
上一篇 2024-10-12 09:45
下一篇 2024-10-14 18:42

相關推薦

  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python實現爬樓梯演算法

    本文介紹使用Python實現爬樓梯演算法,該演算法用於計算一個人爬n級樓梯有多少種不同的方法。 有一樓梯,小明可以一次走一步、兩步或三步。請問小明爬上第 n 級樓梯有多少種不同的爬樓梯…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Harris角點檢測演算法原理與實現

    本文將從多個方面對Harris角點檢測演算法進行詳細的闡述,包括演算法原理、實現步驟、代碼實現等。 一、Harris角點檢測演算法原理 Harris角點檢測演算法是一種經典的計算機視覺演算法…

    編程 2025-04-29
  • 數據結構與演算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與演算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序演算法、字元串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • 瘦臉演算法 Python 原理與實現

    本文將從多個方面詳細闡述瘦臉演算法 Python 實現的原理和方法,包括該演算法的意義、流程、代碼實現、優化等內容。 一、演算法意義 隨著科技的發展,瘦臉演算法已經成為了人們修圖中不可缺少…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 神經網路BP演算法原理

    本文將從多個方面對神經網路BP演算法原理進行詳細闡述,並給出完整的代碼示例。 一、BP演算法簡介 BP演算法是一種常用的神經網路訓練演算法,其全稱為反向傳播演算法。BP演算法的基本思想是通過正…

    編程 2025-04-29
  • 粒子群演算法Python的介紹和實現

    本文將介紹粒子群演算法的原理和Python實現方法,將從以下幾個方面進行詳細闡述。 一、粒子群演算法的原理 粒子群演算法(Particle Swarm Optimization, PSO…

    編程 2025-04-29

發表回復

登錄後才能評論