【从头写个http client(java)】教程文章相关的互联网学习教程文章

java – 带有客户端证书的Android Http请求【代码】

我正在尝试使用此代码向具有客户端证书身份验证的服务器发出请求:try {/*** CA Certificate ***/CertificateFactory cf = CertificateFactory.getInstance("X.509");InputStream caInput = getResources().openRawResource(R.raw.caserver);Certificate ca = cf.generateCertificate(caInput);System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());// Create a KeyStore containing our trusted CAsString keyStor...

java调用https接口【代码】

http与https区别 https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 调用方式与步骤(这里使用跳过证书方式) MyX509Trust...

java – Spring安全性更改重定向URL以使用HTTPS而不是HTTP【代码】

我正在使用受Spring Security SSO登录保护的Spring微服务(使用Cloudfoundry UAA). 部署在云上的微服务可通过HTTPS URL访问.由于HTTPS URL是ELB(负载均衡器/ Web服务器),因此对ELB的微服务的实际请求来自HTTP.因此Spring将用户重定向到登录页面时会在302 Location标题中生成HTTP URL而不是HTTPS URL. 以下是流程Browser->(https://mymicroservice.com) Unauthenticated request (Load balancer)->(http://internal_lan_ip:someport)...

java – 如何更改spring mockmvc的http端口【代码】

我正在使用vertx开发一个带有三个端点的简单api. 那api有一些我无法修改的预定义测试,我需要传递,使用:@Autowired private GenericWebApplicationContext webApplicationContext; private MockMvc mockMvc;在完成api之后,我发现当我使用Verticle时,我不需要提供spring boot starter依赖的嵌入式tomcat,所以我删除了它. 哪个是我的问题? 我不能排除嵌入式tomcat,因为spring boot需要它,否则我将收到以下错误:配置为侦听端口8080的...

java – ClassCastException断开与PowerMockito的URLConnection连接的HttpURLConnection【代码】

我的连接工作正常:URLConnectionFactory hadoopConnectionFactory = URLConnectionFactory.newDefaultURLConnectionFactory(cfg); String url = "..."; URLConnection urc = hadoopConnectionFactory.openConnection(new URL(url)); urc.connect(); // Do something with urc.getInputStream()我使用@RunWith(PowerMockRunner.class)和@PrepareForTest({URLConnectionFactory.class})进行了测试:PowerMockito.mockStatic(URLConn...

java – Springboot v2.0.0.M6 WebClient进行多次重复的HTTP POST调用【代码】

我使用的是spring-boot版本2.0.0.M6.我需要从spring-boot应用程序发出异步HTTP调用说APP1到另一个应用程序(播放框架)说APP2.因此,如果我需要从APP1到APP2进行20次不同的异步调用,APP2会收到20个请求,其中很少是重复请求,这意味着这些重复请求替换了几个不同的请求.预期:api/v1/call/1 api/v1/call/2 api/v1/call/3 api/v1/call/4实际:api/v1/call/1 api/v1/call/2 api/v1/call/4 api/v1/call/4我正在使用Spring反应式WebClient. ...

java – 当互联网断开连接时重新连接OkHttp websocket【代码】

我有以下课程.我试图让WebSocket在发生故障时重新连接public class WebSocketClient extends WebSocketListener {volatile OkHttpClient client;volatile WebSocket webSocket;volatile Boolean isConnected = false;public WebSocketClient() {Proxy proxy = null;if (Main.useProxy) {tinder.CustomProxy proxyCustom = ProxyManager.GetStaticProxy(ThreadLocalManager.account.get().getProxyId());proxy = new Proxy(Proxy.Ty...

HTTPClient-java.net.SocketException:抛出未实现的未连接套接字【代码】

我使用HTTPClient 4.0连接远程服务器并使用HTTPS传输文件.当我尝试连接时,我得到异常“java.net.SocketException:未实现未连接的套接字”.请查看堆栈跟踪java.net.SocketException: Unconnected sockets not implemented at java.lang.Throwable.<init>(Throwable.java:196) at java.lang.Exception.<init>(Exception.java:41) at java.io.IOException.<init>(IOException.java:40) at java.net.SocketException.<init>(Socke...

java – 从HttpEntity读取分块数据【代码】

我有以下代码:HttpClient FETCHER HttpResponse response = FETCHER.execute(host, httpMethod);我试图将其内容读取为这样的字符串:HttpEntity entity = response.getEntity(); InputStream st = entity.getContent(); StringWriter writer = new StringWriter(); IOUtils.copy(st, writer); String content = writer.toString();问题是,当我获取http://www.google.co.in/页面时,传输编码被分块,我只获得第一个块.它取到第一个“...

java – JSESSION / HTTPSession与应用程序制作的会话ID

在基于专有MVC和授权模型的Web应用程序中,我们最近迁移到了Spring MVC.作为该移动的一部分,我们还在考虑从每个请求传递的本地创建的GUID转移到基于cookie的会话ID. 从表面上看,看起来好像在我们的情况下,这样做将是一个很大的缺点,因为标准的JSESSION / HttpSession似乎是所有安全邪恶的根源: >会话修复(现有代码会话仅在成功登录后创建,因此我们永远不需要使会话无效().> CSRF – 会话永远不会作为cookie传递,所以这绝不是一个风...

java – Portlets,HttpSession和Thread-Safety

我们的portlet在HttpSession中保持状态,HttpSession由同一会话的所有请求处理线程共享. portlet规范(JSR-168)写道:PLT.5.2.4.3 Multithreading Issues During Request Handling The portlet container handles concurrent requests to the same portlet by concurrentexecution of the request handling methods on different threads. Portlet developers mustdesign their portlets to handle concurrent execution from multip...

通过HTTP Get in java下载文件【代码】

我写了一个下载Servlet来返回一个基于messageID参数的文件.下面是doGet方法.@Override protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// This messageID would be used to get the correct file eventuallylong messageID = Long.parseLong(request.getParameter("messageID"));String fileName = "C:\\Users\\Soto\\Desktop\\new_audio1.amr";File retu...

java – HTTPS客户端无法连接 – PKIX路径构建失败但存在根证书

我有一个Java客户端,我得到一个SSLHandshakeException,消息“PKIX路径构建失败[classname]无法找到所请求目标的有效证书路径” 我搜索但所有建议似乎是根CA不在信任库中.除此之外……我试图将根证书添加到信任库,keytool说 “别名”下的“系统范围的CA密钥库中已存在证书”. 我通过访问我试图在浏览器中访问的网站(Chrome – 但没有浏览器抱怨任何问题)获得了证书以尝试此操作,并且我在链中导出了根证书.然后我尝试导入上面的结果...

java – HttpClient遵循重定向【代码】

参见英文答案 > Handling HttpClient Redirects 4个我目前正在做一个小项目.该项目的目的是登录网站并获取/处理网站上的信息.此外,我想打开一些链接并搜索它们. 服务器端看起来像这样: 您需要登录到php网站.成功登录后,您将获得一个会话,并将被重定向到foo.username.bar.php(已更改). 使用此代码:BufferedReader in = null;String data = null;try {List<NameValuePair> nameValuePairs = ne...

java – 由HttpServlet抛出的ServletExceptions被Tomcat记录为’SEVERE’,尽管以推荐的方式处理【代码】

问题描述 当我的HttpServlet抛出ServletException时,Tomcat正在记录包含堆栈跟踪的SEVERE消息,尽管它已正确地重定向到web.xml中的另一个HttpServlet. Tomcat使用stacktrace记录以下消息:21-Mar-2015 15:24:57.521 SEVERE [http-nio-8080-exec-28] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [MyHttpServlet] in context with path [/HttpServletExceptionHandler] threw exception [Cu...