讓你的PHP也能執行JS並獲得JS函式的返回值
關於這個功能,我找了很久了,是因為在做某個功能介面時,由於對方在請求資料前對請求的引數進行了加密,導致了無法通過程式模擬提交資料,因此需要想辦法提前處理這個引數然後再提交。
下面直接看實現過程:
$jsData = file_get_contents("x.js"); $oScript = new COM("MSScriptControl.ScriptControl"); $oScript->Language = "JavaScript"; $oScript->AllowUI = false; $oScript->AddCode("$jsData"); $a = $oScript->Run("signin", "15169110086"); echo $a;
首先要載入物件的JS內容,當然如果函式不是足夠大可以直接在 addcode 裡面手動寫上,當然一般情況下既然採用這種方法了,那麼對應的JS可能有多個方法,可能會非常複雜,因此就需要提前載入JS內容到變數中去,這裡對簽到做了一個簡單的實現,親們可以建立自己的JS檔案進行動測試,這裡僅做日誌記錄。
值得注意的是:此方法僅運行於 win 環境下面
相關推薦
讓你的PHP也能執行JS並獲得JS函式的返回值
關於這個功能,我找了很久了,是因為在做某個功能介面時,由於對方在請求資料前對請求的引數進行了加密,導致了無法通過程式模擬提交資料,因此需要想辦法提前處理這個引數然後再提交。 下面直接看實現過程: $jsData = file_get_conten
關於android webview讀取js全域性變數或者函式返回值
背景:藉助現有介面技術,js可以執行原生java程式碼中的方法,可以得到方法的返回值,可以讓原生java程式碼在主執行緒中動態的操作UI;但是藉助該介面,原生java程式碼,採用webview.loadUrl("javascript: JsFunctionName"),只
什麽?php也能做爬蟲?
wrapper gem 如果 key pro jquery 計算器 discuss login php爬蟲代碼(爬去我的OJ題庫為例) <?php for ($i=1000;;$i++){ $url = "http://localhost/JudgeOnline/p
#一篇文章讓你瞭解四種執行緒池,學習Java不在困惑
在Java開發中,有時遇到多執行緒的開發時,直接使用Thread操作,對程式的效能和維護上都是一個問題,使用Java提供的執行緒池來操作可以很好的解決問題,於是找了下API看到Java提供四種執行緒池使用,Java通過Executors提供四種執行緒池,分別為: 1、newCachedThrea
Windows下PyInstaller(不安裝Python也能執行Py檔案)
直接使用Python開發的軟體時有許多不方便的地方,如需要安裝特定的Python環境,需要安裝依賴庫。為了便於部署,需要將Python原始碼編譯成可執行檔案,編譯後的可執行檔案就能脫離python環境運行了。 安裝 將py編譯成可執行檔案需要使用PyInstaller,需要注意,從百度搜索到
如何讓你的web應用執行在80埠(使hue 在80埠中執行)
如何讓你的web應用執行在80埠 thupdi.Fei 實際上,我們在開發的過程中總是會遇到伺服器的預設埠是8080或8000,而HTTP協議的預設埠是80的問題,但是,在linux系統中,只有以root使用者啟動的程式才有資格佔用80埠,而實際上,在
[轉]你閨女也能看懂的插畫版Kubernetes指南
『抱歉……孩子……』鯨魚聳聳肩,一搖尾消失在了海平面下……Phippy還沒有來得及失望,就看到遠方駛來一艘巨輪,掌舵的老船長非常威風。這艘船乍一看就是大了點,等到船走近了,Phippy才發現船體兩邊掛滿了皮筏。 老船長用充滿智慧的語氣對Phippy說:『你好,我是Kube船長』。
JAVA多執行緒————一篇文章讓你徹底征服多執行緒開發(一)
多執行緒的基本概念 執行緒指程序中的一個執行場景,也就是執行流程,那麼程序和執行緒有什麼區別呢? 每個程序是一個應用程式,都有獨立的記憶體空間 同一個程序中的執行緒共享其程序中的記憶體和資源(共享的記憶體是堆記憶體和方法區記憶體,棧記憶體不共享,
一篇文章讓你徹底征服多執行緒開發
多執行緒的基本概念 執行緒指程序中的一個執行場景,也就是執行流程,那麼程序和執行緒有什麼區別呢? 每個程序是一個應用程式,都有獨立的記憶體空間 同一個程序中的執行緒共享其程序中的記憶體和資源(共享的記憶體是堆記憶體和方法區記憶體,棧記憶體不共享,
JAVA多執行緒————一篇文章讓你徹底征服多執行緒開發
多執行緒的基本概念執行緒指程序中的一個執行場景,也就是執行流程,那麼程序和執行緒有什麼區別呢?每個程序是一個應用程式,都有獨立的記憶體空間同一個程序中的執行緒共享其程序中的記憶體和資源(共享的記憶體是堆記憶體和方法區記憶體,棧記憶體不共享,每個執行緒有自己的。)什麼是程序?一
你閨女也能看懂的插畫版Kubernetes指南
『抱歉……孩子……』鯨魚聳聳肩,一搖尾消失在了海平面下……Phippy還沒有來得及失望,就看到遠方駛來一艘巨輪,掌舵的老船長非常威風。這艘船乍一看就是大了點,等到船走近了,Phippy才發現船體兩邊掛滿了皮筏。 老船長用充滿智慧的語氣對Phippy說:『你好,我是Kube船長』。
PHP也能實現區塊鏈?
引言 什麼是區塊鏈?官方的解釋是:區塊鏈是一個分散式記賬系統,是藉用密碼學串接並保護其內容的串連交易記錄(又稱區塊)。每一個區塊包含了前一個區塊的加密雜湊、對應的時間戳記以及交易資料(通常用默克爾樹演算法計算的雜湊值表示),這樣的設計使得區塊內容具有難以被篡改的特性。用區塊鏈所串接的分散
Win10的Linux子系統也能執行圖形程式
前言 之前寫了一篇在Win10中安裝Linux子系統的文章,雖然Linux子系統既實用又方便,不過有些同學可能會覺得只有命令列挺無聊的,所以今天分享一個執行圖形程式的方法,經過試用效果還是不錯的。 本文將帶領你一步一步在Win10的子系統裡安裝執行Gimp(PS:Gimp是Linux上的PS
讓你的SWT程式執行起來
這篇文章是對勇敢的心的問題的回覆而總結的。有時候,我們會發現在Eclipse中org.eclipse.swt包無法解析,這個問題在最初的時候也困擾了我很久。尤其是進入Eclipse3.3後,發現沒有了Eclipse3.2的SWT Application執行選項後。引發這個問題
逆天了,瀏覽器裡面竟然也能執行Linux(JSLinux)
今天在學習NodeJS,不經意間發現,《Node.JS實戰》書上提到了一個執行在JavaScript環境中的PC模擬器。讀者你沒有聽錯,是用JavaScript模擬的一個Linux伺服器,而且上面還可
讓你的jenkins能當奴隸主---說說幾種Jenkins build框架
改框架主要解決了單臺slave同時編譯多branch的軟體的時候的效率低下問題。由N個Jenkins Agent常駐於N個伺服器,由Master統一排程job執行在不同的Slave上。從而達到不同的branch編譯不會相互影響的情況,加速編譯、做包速度。而Master 只用於收集資料、展示資料。
ROS+科大訊飛語音=讓你的機器人能聽會說---(二)說話篇
(二)說話篇 基本環境配置 建立工作空間 $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace 首次編譯 $ cd ~/catkin_ws/
ROS+科大訊飛語音=讓你的機器人能聽會說---(一)環境搭建與準備
概述 ROS介紹 ROS是是用於機器人的一種次級作業系統。它提供類似作業系統所提供的功能,包含硬體抽象描述、底層驅動程式管理、共用功能的執行、程式間的訊息傳遞、程式發行包管理,它也提供一些
如何讓你的bash 定時執行?可…
一、 使用crond監控程式執行程式 1. 使用cron來定期執行任務 使用crond (cron監控程式)來定期執行一些任務,比如備份日誌、資料庫、把日誌傳送到自己郵箱等等操作都可以又定期執行程式來完成。 crond是個指令碼,每次Linux啟動的時候都自動起到該指令碼,該指令碼是 /etc/rc.d/
如何讓你的web應用執行在80埠
前言 解決方案 總結 前言 實際上,我們在開發的過程中總是會遇到伺服器的預設埠是8080,而HTTP協議的預設埠是80的問題,但是,在linux系統中,只有以root使用者啟動的程式才有資格佔用80埠,而實際上,