java.net.URLConnection在这里经常询问使用情况,Oracle教程对此非常简洁.
该教程基本上只显示了如何触发GET请求并读取响应.它没有解释如何使用它来执行POST请求,设置请求标头,读取响应标头,处理cookie,提交HTML表单,上传文件等.
那么,我如何使用java.net.URLConnection触发和处理"高级"HTTP请求?
有没有办法只使用Java SE API在Java中创建一个非常基本的HTTP服务器(仅支持GET/POST),而无需编写代码来手动解析HTTP请求并手动格式化HTTP响应?Java SE API很好地将HTTP客户端功能封装在HttpURLConnection中,但是有一个用于HTTP服务器功能的模拟吗?
为了清楚起见,我在网上看到的很多ServerSocket示例的问题是他们自己做了请求解析/响应格式化和错误处理,这很乏味,容易出错,而且不太全面,我出于这些原因试图避免它.
作为我试图避免的手动HTTP操作的示例:
http://java.sun.com/developer/technicalArticles/Networking/Webserver/WebServercode.html
如何连接到需要身份验证的Java远程URL.我试图找到一种方法来修改以下代码,以便能够以编程方式提供用户名/密码,因此它不会抛出401.
URL url = new URL(String.format("http://%s/manager/list", _host + ":8080"));
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
Run Code Online (Sandbox Code Playgroud) HTTP Last-Modified标头包含以下格式的日期(示例):从此字符串
Wed, 09 Apr 2008 23:55:38 GMT
解析java.util.Date的最简单方法是什么?
我已经构建了我的第一个应用程序,我想用密码保护它.我可以将密码存储在Java文件中,并且该方法需要尽可能简单,因为在此应用程序之前我没有java或甚至xml的经验.我有几次尝试但失败了所以我希望有人可以帮助我.
我用EditText字段创建了布局:
<EditText
android:id="@+id/passwordedittext"
android:layout_width="200dp"
android:layout_height="50dp"
android:inputType="textPassword"
android:layout_marginTop="40dp"
android:layout_marginLeft="20dp">
<requestFocus />
Run Code Online (Sandbox Code Playgroud)
和提交按钮:
<Button
android:id="@+id/submitbutton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="40dp"
android:background="@drawable/bgo"
android:clickable="true"
android:layout_gravity="right|center_horizontal"
android:layout_marginRight="20dp"/>
Run Code Online (Sandbox Code Playgroud)
Java文件:
package com.berry;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
public class password extends Activity{
MediaPlayer mpbuttonclick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
setContentView(R.layout.password);
mpbuttonclick = MediaPlayer.create(this, R.raw.keypress);
Button sumbitButton = (Button) findViewById(R.id.submitbutton);
sumbitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
EditText passwordEditText = (EditText) findViewById(R.id.passwordedittext); …Run Code Online (Sandbox Code Playgroud) 我有一个对特定端点发出POST请求的代码。这段代码是使用Apache的HttpClient,我想开始使用HttpClientJava(JDK11)的本机代码。但是我不明白如何指定请求的参数。
这是我使用Apache Httpclient的代码:
var path = Path.of("file.txt");
var entity = MultipartEntityBuilder.create()
.addPart("file", new FileBody(path.toFile()))
.addTextBody("token", "<any-token>")
.build();
Run Code Online (Sandbox Code Playgroud)
和代码使用HttpClient:
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://myendpoint.com/"))
.POST( /* How can I set the parameters here? */ );
Run Code Online (Sandbox Code Playgroud)
如何设置file和token参数?
我正在尝试使用一个小型 Java 程序发出 HTTPs 请求(发送 SQL 命令的纯文本)并尝试接收 JSON 数据。此功能是否已内置于 Java 中,还是需要外部包/库?
可能重复:
如何在java中发送HTTP请求?
如何使用java.net.URLConnection来触发和处理HTTP请求?
使用java,我怎么打任何网址?
例如,在浏览器中打开http://www.xyz.com/node1会告诉xyz.com node1被命中.所以在这个java程序中(它发送sms文本,将上面示例中的'node1'嵌入到url本身的sms网关服务器中)
如何在不打开任何浏览器或使用servlet的情况下实现它.
我正在制作一个java程序,我正在寻找一种方法来检查是否有新版本可用我在parse.com上创建了一个帐户.
API:点击
我完全在java上工作,我有点新,所以保持简单.
我已经创建了一个具有版本号的类,如果版本是beta,我现在需要一种方法将这两个值转换为int和boolean并执行其余的处理.我如何从parse.com类中获取值?
java ×9
http ×5
json ×2
android ×1
date ×1
http-headers ×1
httprequest ×1
httpserver ×1
java-11 ×1
jira ×1
multipart ×1
passwords ×1
sql ×1
url ×1