validateString的算法:new String(params.getBytes(),"GBK"),然后用md5加密,切记要用32位小写。
最后将组装好的url里面的空格都替换成%20。
发货接口:这个接口有一个参数sendGoods是文件类型,且需要是xml格式,这时候可以用httpClient中的part对象,具体实现如下:
HttpClient httpClient = new HttpClient();
String validate = new String((shopId+key).getBytes(),"GBK");
validate = MD5Util.md5Hex(validate);
PostMethod postM = new PostMethod("http://api.dangdang.com/v2/sendGoods.php");
Part[] parts = new Part[3];
parts[0] = new StringPart("gShopID",shopId);
parts[1] = new FilePart("sendGoods", file,"text/xml","GBK");[color=green]//第三个参数就是说明这个文件类型是xml的,不用这个的话,接口会返回说上传的文件不是xml类型[/color]
parts[2] = new StringPart("validateString",validate);
postM.setRequestEntity(new MultipartRequestEntity(parts,postM.getParams()));
int statusCode = httpClient.executeMethod(postM);
最后将组装好的url里面的空格都替换成%20。
发货接口:这个接口有一个参数sendGoods是文件类型,且需要是xml格式,这时候可以用httpClient中的part对象,具体实现如下:
HttpClient httpClient = new HttpClient();
String validate = new String((shopId+key).getBytes(),"GBK");
validate = MD5Util.md5Hex(validate);
PostMethod postM = new PostMethod("http://api.dangdang.com/v2/sendGoods.php");
Part[] parts = new Part[3];
parts[0] = new StringPart("gShopID",shopId);
parts[1] = new FilePart("sendGoods", file,"text/xml","GBK");[color=green]//第三个参数就是说明这个文件类型是xml的,不用这个的话,接口会返回说上传的文件不是xml类型[/color]
parts[2] = new StringPart("validateString",validate);
postM.setRequestEntity(new MultipartRequestEntity(parts,postM.getParams()));
int statusCode = httpClient.executeMethod(postM);