我想执行一个HTTPS请求,我这样做:HttpsURLConnection的不断设置参数错误
String myParams = "param1=ok¶m2=ok";
byte[] outputInBytes = myParams.toString().getBytes("UTF-8");
URL url = new URL("https://myurl.com/sendData.asp");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Set-Cookie", sessionCookie);
conn.setRequestProperty("Accept", "text/html");
conn.setRequestProperty("Content-Length", "" + Integer.toString(outputInBytes.length));
OutputStream os = conn.getOutputStream();
os.write(outputInBytes);
os.close();
response = conn.getResponseCode();
InputStream in = null;
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
in = conn.getInputStream();
int c;
while ((c = in.read()) != -1)
byteArrayOut.write(c);
byte[] byteArray = byteArrayOut.toByteArray();
s = new String(byteArray);
虽然我这样做,在调试conn
对象,这里是信息获取:
我不认为这是一个服务器端的问题,因为我使用的应用的iOS版本相同的端点,而无需任何问题。那么可能会导致这个问题呢?
谢谢
当您采样屏幕捕获输出时,哪行代码是调试器?当你从Android运行你的代码时,你是否证实你至少在ASP中达到了端点? –
使用原始Http客户端非常棘手,请尝试使用库改造。让我的生活更轻松。 –
@TimBiegeleisen我在'conn.getOutputStream()'行停止了执行。我也确保URL实际上是我期望的URL。 – Someday