使用Java程序通过http post访问Application server
2023-09-14 09:03:09 时间
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
相关文章
- 【异常】Zipkin server启动 Caused by: java.lang.ClassNotFoundException: com.linecorp.armeria.server.cors.CorsServiceBuilder
- Invocation of init method failed; nested exception is java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
- 开源一个基于nio的java网络程序
- Java实现 LeetCode 389 找不同
- java实现求二十一位水仙花数(21位水仙花数)
- Java实现 蓝桥杯VIP 算法训练 摆动序列
- [Java]log4j写SQL Server数据库日志的统一写法
- java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
- Java实现大批量数据导入导出(100W以上) -(二)导出
- [Java] JDK 系统环境变量设置 bat
- ABAP,Java, nodejs和go语言的web server编程
- Embedded Server nano - NanoHTTPD.java学习
- 使用Java程序通过http post访问Application server
- paip.java 开发中web server的选择jboss resin tomcat比较..
- 零java基础搞定微信Server
- [Java 8 HashMap 详解系列]7.HashMap 中的红黑树原理
- Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
- FATAL Fatal error during KafkaServerStable startup. Prepare to shutdown (kafka.server.KafkaServerStartable) java.io.FileNotFoundException: /tmp/kafka-logs/.lock (Permission denied)
- java server
- Java如何监视线程的状态?
- JSP(Java Server Pages,即:Java服务器页面
- Java sql server数据库连接成功
- Java连接Sql Server 2008的简单数据库应用