package com.sand.app.controller;
import java.io.File;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.Part;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Test{
//public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";//
public static final String UPLOAD_IMAGE_URL = "http://localhost:8080/new_ecmis/contract/saveImportContractdata";// 上传多媒体文件
// public static final String APP_ID = "wxa549b28c24cf341e";
// public static final String SECRET = "78d8a8cd7a4fa700142d06b96bf44a37";
/**
* 上传多媒体文件
*
* @param url
* 访问url
* @param access_token
* access_token
* @param type
* 文件类型
* @param file
* 文件对象
* @return
*/
public static String uploadImage(String url, String access_token,
String type, File file)
{
org.apache.commons.httpclient.HttpClient client = new org.apache.commons.httpclient.HttpClient();
String data = "{'bmShop':{'shopRegName':'1178_1','shopType':null,'shopNature':'','shopCorp':'123','corpCretType':'3','corpCretNo':'1231','bmBusinessLicense':{'businessLicenseType':'1','businessLicense':'330181600707204'}},'joinType':'3','unionpaySysNo':28,'posType':'7','mccCode':'5813','urgentFlg':'0','specialShopFlg':'2','signSpecialFlg':'0','signFrom':'1','agentSysNo':'','agentEmp':'','subComp':999,'dsDeveloper':14440,'shopItem':'','accountClearingLevel':'2','rateFlg':'2','shopLinkman':'qwe','shopLinkmanMobile':'13111111111','shopLinkmanAreaCode':'010','shopLinkmanTel':'123123','financeFlg':'0','financeLinkman':'qwe','financeLinkmanMobile':'13111111111','financeLinkmanAreaCode':'010','financeLinkmanTel':'123123','signRemark':'','splittingRemark':'','commissionRemark':'','clearingCycle':1,'holidayTransfer':'0','thirdPartyClearingTransferer':'0','clearingRemark':'','centralizePay':'0','fineMerchant':'0','signCardType':'1','eighteenDomain':'','transactionTypeFlg':'2','transactionType':'','oneMaxMonery':'','creditCardFlg':'','t0Flg':'','t0OneMaxMonery':'','t0FactorageMin':'','t0DayMaxMonery':'','shopOperateName':'sdf','shopOperateAddr':'test','bmBranchs':[{'branchName':'sdf','branchAddr':'test','branchAreaCode':'010','branchTel':'123123','linkMan':'qwe','linkmanMobile':'13111111111','bmTerminals':[{'bmAccount':{'openType':'1','accountName':'外部录入测试2','accountBank':'华夏银行股份有限公司太原漪汾街支行','accountBankCode':'304161035810','account':'123'},'bmRateInfos':[{'spStatus':'1','rateType':'1','nratePer':'0.78','nrateYuan':'99999','authorizationNratePer':'1.0','authorizationNrateYuan':'99999'},{'spStatus':'1','rateType':'2','nratePer':'0.78','nrateYuan':'99999','authorizationNratePer':'1.0','authorizationNrateYuan':'99999'}],'printShopName':'sdf','devType':'','fixedPosNum':1,'movePosNum':'','mposNum':'','servModel':33,'transactionType':'1'}]}]}";
String uploadurl = String.format("%s?access_token=%s&type=%s", url, access_token, type);
System.out.println(url);
PostMethod post = new PostMethod(url);
NameValuePair[] posData = { new NameValuePair("data", "data"), new NameValuePair("test", "test")};
// 把参数值放入postMethod中
post.setRequestBody(posData);
post.setRequestHeader(
"User-Agent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0");
post.setRequestHeader("Host", "file.api.weixin.qq.com");
post.setRequestHeader("Connection", "Keep-Alive");
post.setRequestHeader("Cache-Control", "no-cache");
System.out.println(post.getParams());
String result = null;
try
{
if (file != null && file.exists())
{
FilePart filepart = new FilePart("media", file, "image/jpeg", "UTF-8");
Part[] parts = new Part[] { filepart };
MultipartRequestEntity entity = new MultipartRequestEntity(parts, post.getParams());
post.setRequestEntity(entity);
int status = client.executeMethod(post);
if (status == HttpStatus.SC_OK)
{
String responseContent = post.getResponseBodyAsString();
JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
JsonObject json = jsonparer.parse(responseContent).getAsJsonObject();
System.out.println(json);
if (json.get("errcode") == null)// {"errcode":40004,"errmsg":"invalid media type"}
{ // 上传成功 {"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
result = json.get("media_id").getAsString();
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
return result;
}
}
public static void main(String[] args) throws Exception
{
//String accessToken = getToken(GET_TOKEN_URL, APP_ID, SECRET);// 获取token在微信接口之一中的方法获取token
String accessToken = "gXx5E_vM-_EVOkvqc3dDOdtFTtJzNKdoMQ077hQSokigLBqgkiBBXxU8VLZakIv4oOK7Gi-8ASjPmIbK230zGpnX8SdbBAcq-rfSrlXkhpV7eKKpVjo5tyI-5FjpsHxdQVGcAFACHS";// 获取token在微信接口之一中的方法获取token
if (accessToken != null)// token成功获取
{
System.out.println(accessToken);
File file = new File("D:" + File.separator + "5292370_116x86_0.jpg"); // 获取本地文件
String id = uploadImage(UPLOAD_IMAGE_URL, accessToken, "image",
file);// 上传文件
if (id != null)
System.out.println(id);
}
}
}
java代码模拟http请求
最新推荐文章于 2023-10-31 14:20:59 发布