更新:工作代码!
static public HttpURLConnection HTTPconnectionPOST(String url_api, String name, String password,String method) throws IOException {
URL url = new URL(url_api);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
String urlParameters = "Content=Testing&title=TheTest";
connection.setRequestMethod("POST");
String userCredentials = name+":"+password;
connection.addRequestProperty("Authorization", "Basic " + Base64.encodeToString((name + ":" + password).getBytes(), Base64.DEFAULT).trim());
connection.setRequestProperty("Host", "localhost");
connection.setDoOutput(true);
DataOutputStream dStream = new DataOutputStream(connection.getOutputStream());
dStream.writeBytes(urlParameters);
dStream.flush();
dStream.close();
connection.connect();
return connection;
}
这是我用来发出POST请求的代码:
static public HttpURLConnection HTTPconnectionPOST(String url_api, String name, String password,String method) throws IOException {
URL url = new URL(url_api);
System.out.println(url_api);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod(method);
String userCredentials = name+":"+password;
String basicAuth = "Basic " + new String(Base64.encode(userCredentials.getBytes(),Base64.DEFAULT));
urlConnection.setRequestProperty("Host", "localhost");
urlConnection.setRequestProperty ("Authorization", basicAuth);
urlConnection.setRequestProperty("Accept-Charset", "UTF-8");
/* optional request header */
urlConnection.setRequestProperty("Content-Type", "application/json");
/* optional request header */
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setConnectTimeout (30000) ;
urlConnection.setDoOutput(true);
String a="testing";
String b="test";
String c="test";
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("Content", a)
.appendQueryParameter("title", b)
.appendQueryParameter("excerpt", c);
String query = builder.build().getEncodedQuery();
OutputStream os = urlConnection.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(query.toString());
writer.flush();
writer.close();
os.close();
System.out.println(query);
urlConnection.connect();
return urlConnection;
}
作为我得到的回应:未能发布数据400,错误流内容是:{ “代码”:“empty_content”,“消息”:“内容,标题和摘录都是空的。
下面是解决方案!
Base64.encodeToString 在编码的 user:pass 的末尾添加一个 \n,以便 Header 无效。
来源
我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。
问题内容: 我一直在尝试从SO和其他站点上的大量示例中学习,但是我无法弄清楚为什么我一起学习的示例无法正常工作。我正在构建一个小型的概念验证应用程序,该应用程序可以识别语音并将其(文本)作为POST请求发送到node.js服务器。我确认了语音识别功能,并且服务器正在通过常规浏览器访问获得连接,因此我被认为是问题出在应用程序本身。我想念一些小而愚蠢的东西吗?没有引发任何错误,但是服务器从不识别连接。
我有个大麻烦。我必须将应用程序中的一些参数发布到URL。但是,当我试图在WebView对象中执行此操作时,它会向我报告一个异常,该异常表示“不受信任的证书”(该异常由WebViewClient onReceivedSslError()的重写中的方法报告)。如何才能与服务器正确握手?你能给我一些提示吗?我快疯了... 真的,真的谢谢... 编辑:这是我定义webview的方式 这就是我在WebVie
我无法使用REST保证执行我们的REST帖子网址。我收到状态 404 错误。我们的REST网址不需要任何身份验证,正文等。相同的网址在POSTMAN,RESTEasy中工作正常。我尝试了所有四种组合以获得响应
向Google Play商店上传应用程序时出错 您上传了一个APK或Android应用程序包,其中包含一个活动、活动别名、服务或带有意图过滤器的广播接收器,但没有设置“Android:exported”属性。此文件无法安装在Android 12或更高版本上。请参阅:developer.android.com/about/versions/12/bhavior-changes-12#导出 具有意图过
问题内容: 我想使用wget将图片(使用身份验证令牌“ AUTH_1624582364932749DFHDD”)上传到远程服务器到“ test”文件夹。 该命令不起作用(授权失败),我想确保它与语法无关: 有什么建议么? 问题答案: Wget当前仅支持x-www-form-urlencoded数据。不是用于将文件作为表单附件传输,而是需要格式为的数据。 并以相同的方式工作:唯一的不同是,您可以在命