Created by Jerry Wang, last modified on Aug 20, 2014
source code如下:
import java
.io
.FileNotFoundException
;
import java
.io
.IOException
;
import org
.apache
.commons
.codec
.binary
.Base64
;
import org
.apache
.http
.HttpEntity
;
import org
.apache
.http
.HttpResponse
;
import org
.apache
.http
.client
.ClientProtocolException
;
import org
.apache
.http
.client
.HttpClient
;
import org
.apache
.http
.client
.methods
.HttpPost
;
import org
.apache
.http
.entity
.mime
.HttpMultipartMode
;
import org
.apache
.http
.entity
.mime
.MultipartEntityBuilder
;
import org
.apache
.http
.impl
.client
.DefaultHttpClient
;
import org
.apache
.http
.util
.EntityUtils
;@SuppressWarnings("deprecation")
public class MyHTTPPost
{final private static String POST_PREFIX
= <replace with your own application server url
>;private static String
getRequestURL(String str
){String url
= POST_PREFIX
+ str
;url
= url
+ "&sid=" + Math
.random();return url
;}private static void sendHTTPPostRequest(String str
) throws FileNotFoundException
{ HttpClient httpclient
= new DefaultHttpClient();String raw
= "WANGJER:Saptest1"; String encoded
= Base64
.encodeBase64String(raw
.getBytes());HttpPost httppost
= new HttpPost(getRequestURL(str
));MultipartEntityBuilder builder
= MultipartEntityBuilder
.create(); builder
.setMode(HttpMultipartMode
.BROWSER_COMPATIBLE
);builder
.addTextBody("firstName", "Jerry");builder
.addTextBody("lastName", "Wang");try {httppost
.addHeader("Content-Type","multipart/form-data; boundary=assdsfdffafasf");httppost
.addHeader("User-Agent","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");httppost
.addHeader("Authorization", "Basic " + encoded
); HttpResponse httpresponse
= httpclient
.execute(httppost
);HttpEntity resEntity
= httpresponse
.getEntity();String response
= EntityUtils
.toString(resEntity
);System
.out
.println(response
);}catch (IOException e
){System
.out
.println(e
.getLocalizedMessage());e
.printStackTrace();System
.out
.println("error!");}}public static void main(String
[] args
) throws ClientProtocolException
, IOException
{ sendHTTPPostRequest("a");}
}
運行結果:
application server會解析出Java program傳入的http 請求中的"a", 然后從DB table scarr 中查找對應的記錄,返回給Java side:
<a href=’http://www.aa.com’ target=’_blank’>American Airlines
</a><br /><a href=’http://www.aircanada.ca’ target=’_blank’>Air Canada
</a><br /><a href=’http://www.airfrance.fr’ target=’_blank’>Air France
</a><br /><a href=’http://www.alitalia.it’ target=’_blank’>Alitalia
</a><br /><a href=’http://www.british-airways.com’ target=’_blank’>British Airways
</a><br /><a href=’http://www.airpacific.com’ target=’_blank’>Air Pacific
</a><br /><a href=’http://www.continental.com’ target=’_blank’>Continental Airlines
</a><br /><a href=’http://www.delta-air.com’ target=’_blank’>Delta Airlines
</a><br /><a href=’http://www.airberlin.de’ target=’_blank’>Air Berlin
</a><br /><a href=’http://www.lufthansa.com’ target=’_blank’>Lufthansa
</a><br /><a href=’http://www.laudaair.com’ target=’_blank’>Lauda Air
</a><br /><a href=’http://www.jal.co.jp’ target=’_blank’>Japan Airlines
</a><br /><a href=’http://www.nwa.com’ target=’_blank’>Northwest Airlines
</a><br /><a href=’http://www.qantas.com.au’ target=’_blank’>Qantas Airways
</a><br /><a href=’http://www.saa.co.za’ target=’_blank’>South African Air.
</a><br /><a href=’http://www.singaporeair.com’ target=’_blank’>Singapore Airlines
</a><br /><a href=’http://www.ual.com’ target=’_blank’>United Airlines
</a>
如果遇到server certificate問題,可以參考這個link的解決方案: http://code.naishe.in/2011/07/looks-like-article-no-more-unable-to.html要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的使用Java程序通过http post访问Application server的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。