我成功地使用此代码HTTP通过GET方法发送 带有一些参数的请求
void sendRequest(String request)
{
// i.e.: request = "http://example.com/index.php?param1=a¶m2=b¶m3=c";
URL url = new URL(request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "text/plain");
connection.setRequestProperty("charset", "utf-8");
connection.connect();
}
Run Code Online (Sandbox Code Playgroud)
现在我可能需要通过POST方法发送参数(即param1,param2,param3),因为它们非常长.我想在该方法中添加一个额外的参数(即String httpMethod).
如何能够尽可能少地更改上面的代码,以便能够通过GET或发送参数POST?
我希望改变
connection.setRequestMethod("GET");
Run Code Online (Sandbox Code Playgroud)
至
connection.setRequestMethod("POST");
Run Code Online (Sandbox Code Playgroud)
本来可以做到的,但参数仍然是通过GET方法发送的.
有HttpURLConnection任何方法可以帮助吗?有没有有用的Java构造?
任何帮助将非常感谢.
从 JDK-11 开始,我们可以直接运行 java 源代码。这段代码
import org.apache.commons.codec.digest.Md5Crypt;
public class Oneliner {
public static void main(String[] args){
System.out.println(Md5Crypt.md5Crypt("ok".getBytes(), "$1$saltsalt"));
}
}
Run Code Online (Sandbox Code Playgroud)
可以运行
$ /usr/lib/jvm/jdk-11/bin/java --source 8 -cp /home/imaskar/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar jscript.java
Run Code Online (Sandbox Code Playgroud)
但以 shell 脚本形式 (shebang)
#!/usr/lib/jvm/jdk-11/bin/java --source 8 --class-path /home/imaskar/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
import org.apache.commons.codec.digest.Md5Crypt;
public class Oneliner {
public static void main(String[] args){
System.out.println(Md5Crypt.md5Crypt("ok".getBytes(), "$1$saltsalt"));
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
$ ./jscript.sh
Error: Could not find or load main class ..jscript.sh
Caused by: java.lang.ClassNotFoundException: //jscript/sh
Run Code Online (Sandbox Code Playgroud)
问题出--class-path在第一行的参数上。由于某种原因,--souce争论得以通过,但又--class-path没有通过。
如何通过命令在RCP应用程序中打开启动配置对话框(如在项目上按mouse_right - 运行 - 运行配置)?或任何其他方式,但命令首选.