apache 的东西可以说是我编程用的最多的东西了。最近做的一个程序因为要手动Post数据给
一个外部URL,当时觉得如果直接调用java的API,太靠近底层了,要是要扩展一下,要设个代理等
处理起来麻烦了点。这样的功能大家都要用到,
猜想肯定有现成的更高级的api,直接在我们的项目的lib里翻了翻,发现有commons-httpclient-3.0-rc3.jar
的jar,在apache上一看正是我要的东西,apache的user guide 写着:
java 代码
- PostMethod post = new PostMethod("http://jakarata.apache.org/");
- NameValuePair[] data = {
- new NameValuePair("user", "joe"),
- new NameValuePair("password", "bloggs")
- };
- post.setRequestBody(data);
-
- ...
- InputStream in = post.getResponseBodyAsStream();
-
呵呵,这不就是我想要的嘛。马上写了个测试程序,调用后发现返回的输入流
(InputStream in) 为空,把url改成"www.google.com"返回的还是空,上网google
一把,发现台湾的javaworld网站也有人提出这个问题。
程序就这么几行,改来改去都不行。最后在HttpClient的apidoc MultipartRequestEntity
类的说明中找到一个的例子:
java 代码
- File f = new File("/path/fileToUpload.txt");
- PostMethod filePost = new PostMethod("http://host/some_path");
- Part[] parts = {
- new StringPart("param_name", "value"),
- new FilePart(f.getName(), f)
- };
- filePost.setRequestEntity(
- new MultipartRequestEntity(parts, filePost.getParams())
- );
- HttpClient client = new HttpClient();
- int status = client.executeMethod(filePost);
这个例子最后两行多了一个client.executeMethod(filePost)的调用,
于是把最后两行拿来改改,放到上个例子的"InputStream in = post.getResponseBodyAsStream();"一行的
前面。终于雨过天晴拿到了返回输入流。
经过测试如果不进行executeMethod()的调用是拿不到输入流的,真不清楚apache userguide别人是怎么运行成功
的难道就我比较笨不知到先调用executeMethod() ??
ps: 完整的程序需要进行异常的捕获与处理,post需要调用post.releaseConnection()来释放连接。
分享到:
- 2007-06-20 16:22
- 浏览 3312
- 评论(3)
- 论坛回复 / 浏览 (2 / 4745)
- 查看更多
相关推荐
通过配置Apache,可以实用MATLAB Web Server进行远程网络教学
RHEL5.4+Aache2.2+Mysql5.1+PHP5.2+GD2.0
计算机专业毕业设计VB精品论文资源
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我v:19306446185 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
SQLyong 各个版本,免费下载 SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。
dfgdfg
本项目是基于Vue2的在线租车前台设计源码,包含75个文件,其中包括27个Vue文件、20个PNG图像文件、16个JavaScript文件、3个JSON配置文件、3个SCSS样式文件、2个JPG图像文件、1个Gitignore文件、1个Markdown文档、1个ICO图标文件和1个HTML文件。系统专注于提供在线租车功能,支持车辆展示、租赁流程等功能,为用户提供了一个稳定、高效的在线租车平台。
虚拟机下Ubuntu上网设置_ubuntu虚拟机怎么连接网络-CSDN博客.mhtml
计算机专业毕业时间之VB精品论文源代码资源
当安装好NI-DAQmx后仍然无法运行采集程序,并且显示显示设备标识符无效,则需要添加虚拟采集设备。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
20231108陈震浩《Python程序设计》实验四报告
源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
二层独栋别墅钢混结构同一个梦别墅施工图.dwg
计算机专业毕业时间之VB精品论文源代码资源
Java项目之基于jsp医院预约挂号系统演示(源码 + 演示视频) 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。