Docusignapi java.lang.RuntimeException:失败:HTTP错误代码:404 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.IOException; 导入java.io.InputStreamReader; 导入java.io.OutputStream; 导入java.io.OutputStreamWriter; 导入java.io.UnsupportedEncodingException; 导入java.net.InetSocketAddress; 导入java.net.MalformedURLException; 导入java.net.Proxy; 导入java.net.URL; 导入java.net.urlcoder; 导入java.util.ArrayList; 导入java.util.List; 导入javax.net.ssl.HttpsURLConnection; 导入org.apache.http.NameValuePair; 导入org.apache.http.message.BasicNameValuePair; 公共类NetClientGet{ 公共静态void main(字符串[]args){ 试一试{ URL=新URL(“https://demo.docusign.net/restapi/v2/login_information"); Proxy Proxy=newproxy(Proxy.Type.HTTP,new InetSocketAddress(“Proxy.ops.tiaa cref.org”,8080)); HttpsURLConnection conn=(HttpsURLConnection)url.openConnection(proxy); conn.setRequestMethod(“GET”); conn.setRequestProperty(“内容类型”、“应用程序/json”); conn.setRequestProperty(“用户名”puviars@gmail.com"); conn.setRequestProperty(“密码”,“*******”); conn.setRequestProperty(“积分器密钥”、“TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a”); //conn.setRequestProperty(“X-DocuSign-Authentication”,“{\”用户名\”:”puviars@gmail.com\“,”密码“:\”*******“,”积分器密钥“:”TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a\”); //字符串输入=“{\'api\'U password\”:“false\”,\“include\'U account\u id\u guid\”:“false\”,“login\u settings\”:“none\”; conn.SETUSECHACHES(假); conn.setDoInput(真); 连接设置输出(真); List params=new ArrayList(); 参数添加(新的BasicNameValuePair(“api_密码”、“true”); 添加参数(新的BasicNameValuePair(“包括帐户id guid”、“false”); 添加(新的BasicNameValuePair(“登录设置”、“全部”); OutputStream os=conn.getOutputStream(); BufferedWriter=新的BufferedWriter( 新的OutputStreamWriter(操作系统,“UTF-8”); write(getQuery(params)); writer.flush(); writer.close(); os.close(); //连接设置输出(真); //OutputStream os=conn.getOutputStream(); //write(input.getBytes()); //os.flush(); //conn.setRequestProperty(“api_密码”、“假”); //conn.setRequestProperty(“包含帐户id guid”、“false”); //conn.setRequestProperty(“登录设置”、“无”); 如果(连接getResponseCode()!=200){ 抛出新的RuntimeException(“失败:HTTP错误代码:” +连接getResponseCode()); } BufferedReader br=新的BufferedReader(新的InputStreamReader( (conn.getInputStream()); 字符串输出; System.out.println(“从服务器输出…”\n); 而((output=br.readLine())!=null){ 系统输出打印项次(输出); } 连接断开(); }捕获(格式错误){ e、 printStackTrace(); }捕获(IOE异常){ e、 printStackTrace(); } } 私有静态字符串getQuery(列表参数)引发UnsupportedEncodingException { StringBuilder结果=新建StringBuilder(); 布尔值优先=真; for(NameValuePair对:params) { 如果(第一) 第一个=假; 其他的 结果。追加(&); append(URLEncoder.encode(pair.getName(),“UTF-8”); 结果。追加(“=”); append(URLEncoder.encode(pair.getValue(),“UTF-8”); } 返回result.toString(); } }
// 在通过httpsurlconnection调用rest url时,eclispe IDE中的以下代码使用run as java程序。我得到以下错误: 线程“main”java.lang.RuntimeException中出现异常:失败:HTTP错误代码:404 位于NetClientGet.main(NetClientGet.java:71) 请帮我解决这个问题。这段代码只是点击演示url登录并获取详细信息,然后我将继续发送pdf文档进行设计。但是如果我使用他们的交互式网站,我可以得到JSON的响应Docusignapi java.lang.RuntimeException:失败:HTTP错误代码:404 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.IOException; 导入java.io.InputStreamReader; 导入java.io.OutputStream; 导入java.io.OutputStreamWriter; 导入java.io.UnsupportedEncodingException; 导入java.net.InetSocketAddress; 导入java.net.MalformedURLException; 导入java.net.Proxy; 导入java.net.URL; 导入java.net.urlcoder; 导入java.util.ArrayList; 导入java.util.List; 导入javax.net.ssl.HttpsURLConnection; 导入org.apache.http.NameValuePair; 导入org.apache.http.message.BasicNameValuePair; 公共类NetClientGet{ 公共静态void main(字符串[]args){ 试一试{ URL=新URL(“https://demo.docusign.net/restapi/v2/login_information"); Proxy Proxy=newproxy(Proxy.Type.HTTP,new InetSocketAddress(“Proxy.ops.tiaa cref.org”,8080)); HttpsURLConnection conn=(HttpsURLConnection)url.openConnection(proxy); conn.setRequestMethod(“GET”); conn.setRequestProperty(“内容类型”、“应用程序/json”); conn.setRequestProperty(“用户名”puviars@gmail.com"); conn.setRequestProperty(“密码”,“*******”); conn.setRequestProperty(“积分器密钥”、“TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a”); //conn.setRequestProperty(“X-DocuSign-Authentication”,“{\”用户名\”:”puviars@gmail.com\“,”密码“:\”*******“,”积分器密钥“:”TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a\”); //字符串输入=“{\'api\'U password\”:“false\”,\“include\'U account\u id\u guid\”:“false\”,“login\u settings\”:“none\”; conn.SETUSECHACHES(假); conn.setDoInput(真); 连接设置输出(真); List params=new ArrayList(); 参数添加(新的BasicNameValuePair(“api_密码”、“true”); 添加参数(新的BasicNameValuePair(“包括帐户id guid”、“false”); 添加(新的BasicNameValuePair(“登录设置”、“全部”); OutputStream os=conn.getOutputStream(); BufferedWriter=新的BufferedWriter( 新的OutputStreamWriter(操作系统,“UTF-8”); write(getQuery(params)); writer.flush(); writer.close(); os.close(); //连接设置输出(真); //OutputStream os=conn.getOutputStream(); //write(input.getBytes()); //os.flush(); //conn.setRequestProperty(“api_密码”、“假”); //conn.setRequestProperty(“包含帐户id guid”、“false”); //conn.setRequestProperty(“登录设置”、“无”); 如果(连接getResponseCode()!=200){ 抛出新的RuntimeException(“失败:HTTP错误代码:” +连接getResponseCode()); } BufferedReader br=新的BufferedReader(新的InputStreamReader( (conn.getInputStream()); 字符串输出; System.out.println(“从服务器输出…”\n); 而((output=br.readLine())!=null){ 系统输出打印项次(输出); } 连接断开(); }捕获(格式错误){ e、 printStackTrace(); }捕获(IOE异常){ e、 printStackTrace(); } } 私有静态字符串getQuery(列表参数)引发UnsupportedEncodingException { StringBuilder结果=新建StringBuilder(); 布尔值优先=真; for(NameValuePair对:params) { 如果(第一) 第一个=假; 其他的 结果。追加(&); append(URLEncoder.encode(pair.getName(),“UTF-8”); 结果。追加(“=”); append(URLEncoder.encode(pair.getValue(),“UTF-8”); } 返回result.toString(); } },docusignapi,Docusignapi,// 在通过httpsurlconnection调用rest url时,eclispe IDE中的以下代码使用run as java程序。我得到以下错误: 线程“main”java.lang.RuntimeException中出现异常:失败:HTTP错误代码:404 位于NetClientGet.main(NetClientGet.java:71) 请帮我解决这个问题。这段代码只是点击演示url登录并获取详细信息,然后我将继续发送pdf文档进行设计。但是如果我使用他们的交互式网站,我可以得到JS
//为什么要注释掉
X-DocuSign-Authentication
标题?没有像用户名
头或密码
头这样的东西,您需要删除它们并将X-DocuSign-Authentication添加回JSON格式的身份验证数据中。我对代理服务器也不太了解,如果这是个问题的话……另外,我建议您看看DocuSign,它有9个Java代码示例,还有一个
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
import java.net.MalformedURLException;
import java.net.Proxy;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import javax.net.ssl.HttpsURLConnection;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
public class NetClientGet {
public static void main(String[] args) {
try {
URL url = new URL("https://demo.docusign.net/restapi/v2/login_information");
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.ops.tiaa-cref.org", 8080));
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(proxy);
conn.setRequestMethod("GET");
conn.setRequestProperty("content-type", "application/json");
conn.setRequestProperty("Username", "puviars@gmail.com");
conn.setRequestProperty("Password", "*******");
conn.setRequestProperty("IntegratorKey", "TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a");
//conn.setRequestProperty("X-DocuSign-Authentication","{\"Username\":\"puviars@gmail.com\",\"Password\":\"********\",\"IntegratorKey\":\"TIAC-e30cd896-cd8b-4cca-8551-86b8c51ea85a\"}");
//String input = "{\"api_password\":\"false\",\"include_account_id_guid\":\"false\",\"login_settings\":\"none\"}";
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("api_password", "true"));
params.add(new BasicNameValuePair("include_account_id_guid", "false"));
params.add(new BasicNameValuePair("login_settings", "all"));
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(params));
writer.flush();
writer.close();
os.close();
//conn.setDoOutput(true);
//OutputStream os = conn.getOutputStream();
//os.write(input.getBytes());
//os.flush();
//conn.setRequestProperty("api_password","false");
//conn.setRequestProperty("include_account_id_guid","false");
//conn.setRequestProperty("login_settings","none");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
StringBuilder result = new StringBuilder();
boolean first = true;
for (NameValuePair pair : params)
{
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
}
return result.toString();
}
}