Tag: http

如何使用Java在Http Get方法中设置Cookies

我想用cookies手动GET以下载和解析网页。 我需要提取安全令牌,以便在论坛上发帖。 我已完成登录,已阅读响应并提取了cookie(3对(名称,值))。 然后我写了包含这样的cookie的String: CookieString=”name1=value1; name2=value2; name3=value3″ 然后我做以下事情 HttpURLConnection connection connection = (HttpURLConnection)(new URL(Link).openConnection()); connection.setRequestMethod(“GET”); connection.setRequestProperty(“Connection”, “Keep-Alive”); connection.setRequestProperty(“Cookie”, CookieString ); connection.connect(); 然后我阅读了该页面,但它显示我没有登录论坛。 我究竟做错了什么? 编辑:我知道如果我想发帖,我必须提取安全令牌。 我的思路是,为了提取它,我需要获取这个特定的页面。 但是为了将安全令牌作为隐藏字段,我必须在线,因此我需要cookie。 但是,当我获取页面并设置上面提到的cookie时,我将该页面作为访客,它显示我不在线,安全令牌的值是guest,这对我没用。 我会检查你给我的链接,希望能找到解决方案。

Java服务器端发送带恢复支持的文件?

我试图让我的java服务器传输一个Web浏览器可以下载的文件。 但是,我想要浏览器,如果他们暂停并恢复文件传输工作,而不是重新开始下载。 有谁知道服务器端的java代码来解决这个问题?

有时HttpURLConnection.getInputStream的执行速度太慢

我们有下一个代码。 有时我们应该在最后一行等待10-20-40秒。 可能是什么问题? Java 1.4 URL url = …; HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.connect(); OutputStream out = conn.getOutputStream(); ObjectOutputStream outStream = new ObjectOutputStream(out); try { outStream.writeObject(objArray); } finally { outStream.close(); } InputStream input = conn.getInputStream(); 更新: 下一个代码修复了问题IN ECLIPSE。 但它仍然无法通过Java WebStart工作:( HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); System.setProperty(“http.keepAlive”, “false”); //<————— […]

将图片从Android上传到PHP服务器

我试图从我的Android设备上传文件到PHP服务器。 有相同问题的线程,但他使用不同的方法。 我的Android端代码工作正常,没有显示错误消息,但服务器没有收到任何文件。 这是我的示例代码,我在网上找到了它。 import java.io.FileInputStream; import android.app.Activity; import android.os.Bundle; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.IOException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.util.Log; public class uploadfile extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); doFileUpload(); } private void doFileUpload(){ HttpURLConnection […]

ServletFileUpload #parseRequest(request)返回一个空列表

我在Android中有一个客户端应用程序,它使用HttpURLConnection将文件发送到服务器。 服务器使用Apache Commons FileUpload API来解析表单数据值。 HttpURLConnection发送此请求: —————————–4912995119421 Content-Disposition: form-data; name=”deviceid” 9428103 —————————–4912995119421 Content-Disposition: form-data; name=”countryid” 598 —————————–4912995119421 Content-Disposition: form-data; name=”number” 98621360 —————————–4912995119421 Content-Disposition: form-data; name=”file”; filename=”2012-12-08 17.42.18.jpg” Content-Type: image/jpeg ÿØÿá1 Exif II* @ ° ª ² ¼ Ä ( 1 Ì 2 Ø i‡ ì %ˆ \ n SAMSUNG GT-S5360L HH S5360LUHLB1 2012:12:08 17:42:18 š‚ […]

java中的HttpClient

我想使用一个简单的HttpClient。 但是,看来sun.net.www.http.HttpClient是无法访问的。 此外,com.ibm.ws.http.HTTPConnection – 似乎更支持http服务器而不是客户端。 为什么? 因为当我创建一个HttpConnection实例时,它有一个我应该写的“getHttpResponse”。 无论如何使用IBM HttpConnection for HttpClient? 或者,我可以使用任何标准的httpClient代码吗? 谢谢。

Java Http Client通过POST上传文件

我正在开发一个J2ME客户端,它必须使用HTTP将文件上传到Servlet。 使用Apache Commons FileUpload覆盖servlet部分 protected void doPost(HttpServletRequest request, HttpServletResponse response) { ServletFileUpload upload = new ServletFileUpload(); upload.setSizeMax(1000000); File fileItems = upload.parseRequest(request); // Process the uploaded items Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); File file = new File(“\files\\”+item.getName()); item.write(file); } } Commons Upload似乎只能上传多部分文件,但没有application / octect-stream。 但是对于客户端,没有Multipart类,在这种情况下,也不可能使用任何HttpClient库。 其他选项可能是使用HTTP Chunk上传,但我还没有找到一个明确的例子,说明如何实现它,特别是在servlet端。 我的选择是: – […]

即使httpCon.setRequestMethod(“GET”),HttpURLConnection也会发送POST请求; 已设定

这是我的代码: String addr = “http://172.26.41.18:8080/domain/list”; URL url = new URL(addr); HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); httpCon.setDoOutput(true); httpCon.setDoInput(true); httpCon.setUseCaches(false); httpCon.setAllowUserInteraction(false); httpCon.setRequestMethod(“GET”); httpCon.addRequestProperty(“Authorization”, “Basic YWRtaW4fYFgjkl5463”); httpCon.connect(); OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream()); System.out.println(httpCon.getResponseCode()); System.out.println(httpCon.getResponseMessage()); out.close(); 我在回应中看到了什么: 500服务器错误 我打开我的httpCon var,以及我看到的内容: POST / rest / platform / domain / list HTTP / 1.1 为什么即使我使用了httpCon.setRequestMethod(“GET”);它也设置为POST httpCon.setRequestMethod(“GET”); 把它设置为GET?

从String创建URL

这是一个非常基本的问题。 但我无法在Java文档中找到答案,也无法测试它,因为我不知道这种方法是否存在。 我可能会收到一个URL字符串 http://www.example1.com 要么 http://www.example1.com/ 然后我将获得可能以/api/v1/status.xml开头的资源路径,或者它将类似于api/v1/status.xml 我正在查看URL类,我可以处理第一部分,即获取hostURL以使其成为HTTPS或HTTP请求。 问题是附加资源路径。 如果第一个字母是/否,我必须手动检查。 我想知道这个function是否已经在某个类中。

通过Java Socket读取映像文件

这是我到目前为止, Socket clientSocket = new Socket(HOST, PORT); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); InputStream is = socket.getInputStream(); byte[] byteChunk = new byte[1024]; int c = is.read(byteChunk); while (c != -1){ buffer.write(byteChunk, 0, c); c = is.read(byteChunk); } BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(buffer.toByteArray())); 我的代码问题是ImageIO.read()返回null。 当我打印ByteArrayOutputStream对象的内容时,我得到的是标题部分 HTTP/1.1 200 OK Date: Fri, 30 Dec 2011 11:34:19 GMT Server: Apache/2.2.3 […]