導航:首頁 > 編程語言 > java模擬curl

java模擬curl

發布時間:2023-02-16 08:40:06

java PayPal支付介面,疑問求解答

Paypal IPN介面開發小結最近終於搞定了該死的Paypal ipn,特地在此留下點東西備忘。所以paypal ipn(Instant Payment Notification),就是Paypal開發的一種能主動通知第三方賣家系統交易狀態的一種機制。IPN的原理很簡單,就是當產生了一個交易之後,交易狀態發生變化時,如用戶已經付款、或者退款、撤銷時,Paypal利用常用的HTTP POST方式,將交易的一些變數提交給網站的某個頁面(稱之為IPN Handler),當這個頁面接受到請求時候,將這些數據原封不動加上一個指示驗證的cmd=_notify-validate,POST回Paypal的介面地址,如果數據正確,那麼Paypal返回字元串VERIFIED,否則為INVALID,如果結果為VERIFIED,那麼你的程序就可以使用這些數據進行操作。但代碼的調試是一件很痛苦的事情,因為作為第三方開發人員,不可能開兩個帳號,每次測試還要之間交易一些錢,所以Paypal專門開發了Sandbox給開發人員進行開發,首先到 https://developer.paypal.com/ 注冊一個開發帳號,好了之後再進入Sandbox建立測試用的Paypal虛擬帳號(至少應該建立一個Business的和一個Personal的),這種賬號注冊方法和Paypal的流程一樣,信息可以是假的,包括銀行帳號、信用卡(其實Paypal Sandbox會自動生成一些隨機的號碼)。接下來需要激活Paypal Sandbox的虛擬帳號,注意,這里不管你在Paypal Sanbox注冊時填什麼郵件地址,有任何發送到虛擬帳號所填郵箱的郵件都存會在開發帳號的管理界面中的Email頁(導航欄上有)中。登錄Sandbox的虛擬Paypal環境,還需要驗證虛擬帳號的銀行,這里可以隨便填,然後通過Add Funds來給賬戶充值(想填多少填多少)。然後,還需要激活IPN的選項,在Business的那個賬戶的Profile設置頁面中,點擊,然後點擊Edit按鈕,打開IPN,這里如果你使用的是固定的IPN Handle,可以直接將地址填入。接下來,我們測試的時候,應該將Paypal介面的地址設置為 https://www.sandbox.paypal.com/cgi-bin/webscr最後基本的流程為:用戶在我們的網站上選擇商品、放入購物車,然後檢查准備支付 網站根據購物車中的商品,生成Paypal的支付表單(也是提交到上面IPN用的Paypal介面地址),包含了此次交易的一些信息(下次會專門找機會解釋一下)。並在自己的資料庫中生成一張訂單記錄。 Paypal在Session中記錄下這些交易信息 用戶用Paypal賬戶登錄Paypal(Sandbox用Sandbox的虛擬帳號),復查明細,點擊Pay按鈕 Paypal進行交易處理,如果我們的Paypal收款帳號在接受帳款上沒有什麼問題(沒有特別的需要在界面上「Accept」的地方),交易完成,那麼Paypal會發送一個IPN,並發送提示郵件。 我們IPN Handler接受到信息,首先向Paypal進行校驗,如果信息正確,然後根據信息和自己資料庫中進行比對,如果無誤,可以將支付信息保存,並修改訂單狀態。 然後Paypal會顯示一個界面表示交易完成,此時如果用戶點擊「Return」按鈕,Paypal會將用戶送回我們網站指定地點。 我們網站迎接用戶回來,向用戶表示感謝,並進行提醒,給出訂單號等等。 整個流程基本如下,不過其中有很多要注意的地方:我們看到了,介面地址是https開頭的,也就是要求使用SSL進行連接,其實Paypal Sandbox可以使用http,但是最後實際的Paypal介面,不支持http協議,所以如果你用php寫IPN Handler腳本的話,在驗證信息的代碼部分,如果簡簡單單使用fopen、HTTP_Request之類的工具是沒用的,PHP的socks庫不支持SSL,應該使用curl,有兩種方法,一個是使用PHP擴展中的libcurl,Paypal官方發布的SDK中便是使用的這個方法,但Paypal的SDK非常復雜,如果想自己寫,可以使用Snoopy,一個簡單實用的PHP請求庫(它自己說是模擬了瀏覽器的行為),而它使用的是Curl的可執行文件,通過管道獲得結果,而非php的libcurl,所以自己cURL的主頁上下載一個支持SSL的編譯版本,可能還需要安裝OpenSSL,不過對於Linux系統,可能應該會都帶。 在支付表單中,可以自己設置notify_url欄位,來指定此次交易的信息應該發送到哪個地方,這樣就可以覆蓋在Profile中我們的設置,另外,這個欄位要進行urlencode。 我們得到的IPN信息中,status對應的便是交易狀態,如Complete表示完成,首字母大寫,而驗證結果則是VERIFIEY或者INVALID,全部大寫,具體的內容,可以查看Paypal官方的文檔訂單管理整合指南。

② php端通過curl傳數據到java端,java端應該怎麼處理,請教大神怎麼實現!

最簡單的是寫一個servlet接收url參數啊

③ php程序與java程序之間做數據交互,怎麼做

可以用php的curl模擬瀏覽器請求是訪問java伺服器程序,或者用java的一個http類庫同樣發送http請求來訪問PHP伺服器

④ JAVA 如何使用curl微信上傳圖片

$varname='media';//上傳到$_FILES數組中的key
$name='2.jpg';//文件名
$type='text/plain';//文件類型
$key="$varname";filename="$name Content-Type:$type ";
$re=newSaeStorage(AccessKey,SecretKey);
$ss=$re->read(domain,文件名);
$fields[$key]=$ss;
$url="http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE";//上傳地址
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);//URL
curl_setopt($ch,CURLOPT_POST,1);//模擬POST
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);//POST內容
curl_exec($ch);
var_mp(curl_error($ch));
curl_close($ch)

⑤ java 控制台中按鍵盤上的a鍵觸發事件,使用哪一個類,哪一個方法

$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$_GET['url']);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
$output = curl_exec($curl);
curl_close($curl);
print_r($output);

⑥ PHP模擬提交到JAVA,很有難度,必須大神才能解決! 問題解決追加分

我覺得你可以這樣 分別用PHP和java單獨寫個加密的類 php這邊登陸後將起身份信息加自己密加一個隨機數字發給java這邊同時存入資料庫,java這邊接受信息後比對傳過來的值和資料庫中額值是否一致,是一致的怎麼是合法登陸用戶,如果不一致就是非法用戶或者php這么已經注銷
當然php這邊如果注銷或者重新登陸都會去修改存入資料庫的那個值。
這樣既可以防止非法用固定代碼登陸 有保證合法用戶不受到影響

⑦ Java怎樣與網頁交互

java是屬於後台代碼,作用是獲取前端的請求並處理邏輯和資料庫處理。一般來說與前端網頁數據交互有兩用方式,一,ajax請求數據介面,然後前端根據返回值處理數據。二,使用request方式將返回值直接帶給跳轉頁面。建議使用第一種。

⑧ php程序與java程序之間做數據交互,怎麼做

  1. 用php的curl模擬瀏覽器請求是訪問java伺服器程序

  2. 2.用java的一個http類庫同樣發送http請求來訪問PHP伺服器

    $context=stream_context_create(array('http'=>array('method'=>"GET",'timeout'=>30,)));

    $string=file_get_contents('http://www..com/s?wd=php%20file_put_contents',false,$context);//換成java地址

    echo'這可不是網路,只是我輸出了網路的返回';

    echo$string;

閱讀全文

與java模擬curl相關的資料

熱點內容
伺服器顯示error1什麼意思 瀏覽:708
python代碼精簡 瀏覽:457
文件加密了怎麼找到了 瀏覽:193
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150
app的錢怎麼充q幣 瀏覽:814
android銀行卡識別 瀏覽:756
怎麼在app投放廣告 瀏覽:11