第一步,还是得到Httpclient,得到请求方式httppost
第二步,得到entity,键值对存储数据,用来与服务器进行交互,因为是文件,所以采用了multipartentity,将数据存进entity
第三步,将httppost携带entity数据,寻找引用httppost.setentity
第四步,httpclient寻找httppost引用,运行
今天做项目,需要调用新浪微博的API,由于项目的特殊性,采取了自己实现API调用代码的功能。新浪微博的API调用是才用https的方式,在发表微博的时候,需要才用POST的方式来提交参数。如果需要上传图片,则同时提交一个名称为pic的byte[]数组。
部分代码,仅供参考:
HttpPost httppost = new HttpPost("http://blog.sina.com/yangyanyangyanyangyan/article_add.php");
FileBody bin = new FileBody(new File("d:/123.JPG"));
StringBody s = new StringBody("新浪微博");
MultipartEntity reqEntity = new MultipartEntity(); //关键
reqEntity.addPart("pic", bin);
reqEntity.addPart("status", s);//可以设置charset,如果发出去的中文是乱码,则可以设置Charset参数来设置编码
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);