前两天在工作中,项目组长给我了一个远程接口让我给测一下,因为是http协议,所以我首先想到了用httpClient工具类来测试,网上一查,找到了好多示例代码,随便复制了一个demo进行了简单的修改,结果怎么测试都是连接超时,试了很多个demo也不好使,最后发现是因为我们公司访问外网是通过代理,所以在进行测试的时候需要配置代理。一下是我的测试程序

用到的jar包:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAADcCAIAAADcAtI6AAAX7UlEQVR4nO2d7XPURp7H+0/Iv3DJJa8hwa5Bf0hS4ZILMV693LzcglSycLhCYUxWm9sc5GF3L1W3gRAXsXHQ4oTLLltwRUIwT8YGtMY8ODbg8dhm7HmwZ+h7oaeW1NLIPT0eSfP9VBclWr9+kN1fq0ej/jahMvj25yenx/IzhfWnFYqUsTRTWD89lv/25ydShkpmIFJq6R+6u7BaXyjR/CrNr9KxM+98d+Sl0f968czHL/71oxdP//6Fkd+9cOrw88MDz4+deceMQUpLWijRhdV6/9BdKUMlM8hRTt/g1HKFzq9Y6bsjLz2rLz5bm62Xb9ef/lRbGK0/+qo288n6vYHvjrzkhCGlJS1XaN/glJShkhmkKWepTB8XreS55/znv57+/Qvf/u75U4efHx74l7Ez7zhhSI9PqqRbu9iWpq9p24iy/1qs4KUylONHmnIWy/TRUyvdnVnY/fGZu3PF5dXq8mp1bW1tebVyd664++Mzd2cWnDCkR4Mq6dYuNl8JIW8O8k5d0bYRE+U/rgRPBTJD0iKUEyCuci5cuLCyshJ2tm9wqlCis0/p7FN6/ur0wF/OP5gv5ZfLxVKlWKqUq9ViqTq/XH4wXxr4y/nzV6fNSKTZQZV0axfEazD2dRPSrb7RTd4YDJ7V3yB2fnMNFUpQjp+4yvnyyy+PHz+ez+e5Z/sGpxZW6cwSnVmiX4xcOn524mG+VChWypVquVKt19bKlWrhaWUmXzp+duKLkUtmJNLM1yrp1s43W4+xt5v829fRlRt7u5W9Y4JNLKxCOX42oJwnT5589tlnMzMzwbN9g1PzK/T+Ir2/SPs+//6HsYcP5kvzy5WVUmXFvedU7s+Xfplf6fv8ezOSl/Qd1uyCvPKB4cshRP1vN0z57QntFUIIITtO0Psn1ECp6IDImj/wB5/7QAlEivXcl09Il3YutIawTF8yfttFdpwI5J9QmcoDMWPaK06vxqwflPWzcuP1HYSQLu3HFSjHzwaUQynN5/Oapt25c8d3tm9w6nGRThfodIH+un9ofrly+rux57bs+MOfThcWi89t2VGu1pycC1enzchA0l8n5OUPjNCcEyoh6p/tfNKl/d3KJOQtfbpApy9rL28kILRmN1h5/zJbKixtrOevn7DC/vyW3cmC/rrZVoFOF4z3u8yYYLXc5MR702XtZaetEyoh3hj3ooz33zL7wPbTeL+L2Mf0cRHK8bMx5VBK5+bm9u3bVygU2LN9g1OPinQqT6fy9O29Xy0Uq89t2bE4v/jclh3Fcs3518z5+89TZqQ/HVdJl/ZDVI7xXhd5/TidyuuvE+W9n8xM7nGjgFg1G+91ObUR4uY7OXZm/J778p3/HleJl5f7DE61vnb9nef9SO0723v/zhahUz9pLxP1j/Z/f+hzb6p/DNT5CMoJsDHlLCwshN1zZpfpnXl6Zz6WcsxIfzquki7t+6gc490u5d0f6Z15/TViHoQdNwqIVbOT6fyXEMLmbLznvnznv8EawjI5yXi3i7x2PDpGf42on7M5P2pbzZwfta2EbO0zPJneOmeXoRw/G1DO/Px8xOecmSV66zG99Zj+un/o0WLpD386bc7NFlfXn9uyY2l13cm5cHXajAwk/TVCXjtmHe/Zb5g5W/cbVsAxlWzTRq1IZc9Fp1TwOE5Aw5qNPduUPRfprYvanmNOjtND4Z47kcaebYSXTz99U/2UXy335+bt1UVtq3sJToV2Z5yzF7WtRP3U0zc6ul8hZqa3zpklKMePtGdrD5foxGM68Zj2ff79//58K/+0ulCsLhTX7FRdKFbzT6u/zC/2ff69GclJF7Wt9pzhEytTf5X5nM1kKrsvRhw3DIhTs7F7m3X8yZt24Jt6cz2nE8eciZmye79Ktmln/DWQV49FVMsmY/c2wvLqMbOI2W337Nb9BlOhsvuieWDWyYS9qbKZTjceQjkBpH2f86BAx+fo+Bz9YuTSmXPnHszdnbw/d/1e/vq9/LXpwrXp/MT9uYdz02fOnfti5JIZidTO9H/aFqIeiRf8oADl+JH2DsG9Ar0+S6/P0vNXp49+NVp7eqW0eH0pP7GUnyjM31pamCgtXa89vXL0q9HzV6fNSKQ2pm/3KWSb9m284HtQTgBpypku0GuzVjp/dfo3H53ae2Rk39FT+46e2nd0eN/RU3uPjPzmo1Pnr047YUjtSf9jThfVj2MXmYZyAshRzocj9249qt2YpVd/QcpaujFLbz2qfThyT8pQyQxylPPXsfmhSwvGk3qj7+yQ0peMJ/WhSwunL2Nlmwc5yqmu10cuPekfuts3OIWUsdQ/dHfk0pPqel3KUMkMcpQDQKcB5QAgQkuUE+1D0IoWAdhkWqKcaB+CVrQIwCbT+ntOwIegFS22G10lqi6xPkNTiKIZEmtMWwcST0uUE+1D0IoW202ClaOrhIR0ztDcpQV68BSUE4Wc99ZY4vgQiPc3ochWjhwMTSFEUVWF2zlddaRhaPwQEI6cd6VZ4vgQNNfnBJJM5ZjEkYWhKbjDbAw5PgQscXwIwkvr7iv41m9SZ1ZLOgNAV4mi6dZkQ9XdKKZUdEBkzZo/OGJeY5diawhWy+YrmqYy/eDlu6Od35/w2oLEUU5A+WwhzsWbp3XV26eOQo4PAUscH4KQorrq/0V4c3SVuOPJPmEOITPbM+AaB4TW7AYrmhFn7DkjL6paz0i0gkLyfRfi609obVxi9d5fgVvI0FT7nNusKabE3mY3Azk+BCxxVlPzSwZ/gf4c5/fJnuAeNwqIVbMzhzHFxxZg/uRbAYHSbLW+fG432f/67jm+/oSV8vfKd2mhP3XOaW+hwF0HH4wk+RCwtFg58YQhopxgQd/s3xw/3D/vEcqJHOuSlcMlapTzZcMWYm9p7I0IyokZF+1DwBLHhyCkKPt71DVrjHgnP+4f1+aUE6tme6QamuaZ33N7HjJbi56VxZqt8e+BgrM1d8rHe/AcnKAy7RuagnuOg/xna3F8CEILu9OC6A/czSsnTs3uPccN5Y+XGE8I3Evzfqbn5jdQTnhtIT9NtzeONthuOhM8zkc7piX3+TaU04Lvc+L4EDTR4UwQNr9qMO/aYG3NAGk0Qv47BHF8CKQ3mngMTfHclJh7BzdfrDaZ3e3Yx80xacnbN9E+BK1oMQUwU6fA4zdevlhtzWPN4nDDaQDW5wAgApQDgAhQDgAiyFFO/Rm9/bj+j3/WRieRWp7+8c/a7cf1+jMpvzogiBzljM/WJx/VV6rP6s8oUqvTSvXZ5KP6+CzMaNqJHOWcvV1bq9Fa3UrRPgROGJJwWqvRs7drUn53QAw5yhmdrNWf0fW6laJ9CJwwJOFUf0ZHJ6GcdiJNOTXm9xrtQxA5JozD2wkhpPe03kvUkdaOP72XKIfvtF8GVrqjbY/dn1odymkz0pSzXqfVmpWifQicsGCa+FAhv9KrNVqt6b1EHQ6PlJH0XqIM3BItfkvLEZL70PDlD/+KeRdsuzYRLDiiEkJ6R7gVxu3POpTTbuS8t2YpZ51W12P5EJiRwTTcS3KHjeo6ra7rvUQdDgnbSDIGtpPeEe4pvZcoA5PC1Sq57U5vuZfA7wzZrvaGdilugnLajpx3pUcna2t1Wl6n5fVYPgRmZDAN9ZLcYaO8Tsvr+i6iDoWEbSQZh7aTXSPcU/ouohyaFKl2/LCSO2wwveVegkCX4qY1KKfdyPEhGJ2sVWu0tEZLa7F8CMxIXxrqdV+HH1rTe4g6tEZLE1rOPPAdr+k9dnTusGHnKP2HVSbTjSHbtRv+Fj3xpFcvhdbsTRNabrt2Y80SSeRVcC6ztGb0byc9p3jVeq7Uwo40S+k99iQQymkvcnwIRidrlXW6WqWr1Vg+BGZkMH3TS3IDxmqVrlb1HqJ+U6WrE1rOPPAc6z1E6Z8wSxn9OdIzbGYS0qvbkWaAczaYuPF6D3H6wE1uhUxvOen6gEJy2vXIGjzJvTqjv9cuOKwSJzNH7GNaWYdy2owcHwJTOStVulKNtZrajAymk72ke8BYqdKVqt5D1JNVujKhdZsH7PGwb1WWWUrvIcrBCbMq42DOPDYO5kjPMLXrtF4vPjhB+fHDqjncmV55Sl0fUEivHugtN7H1s4ntEpPYKzWFZ9+7TgZKQTltR44PwehkrbxOixVarMRSjhkZTCd3ke4Bo1ihxYr+NlFPVmjxptZtHrDHwyrJadf8xfW3iXLwpnlsHMyZx8bBHHl7mNscL55fs5OMgzniZ5ceEszW76+E0yXn6m5q3cT+ObiX7ylVhnLajRwfgtHJWmmNLpfpcjmWD4EZGUyDu0j3IWO5TJfL+k6iDpbp8rjWTZQD43S5TK8cUoiZWdZ3ErJzyCnlZFqRy2XjQM48Ng7k3Ehv4sazNesHrM406q3bSX3nLt05S3LaFe8l2G0xXXLOjmvd5tUNqVZBzyV7SpXWoJw2I+3Z2uoaXSrTpXIsHwIzMpi+3kW6DxlLZbpU1ncS9esyXSrTsUPWvKV7l9ptZy6Na932H/2dQ9QuohwYN48tJbjFc9qYvzl+PFOz3VbD3tqjf6lMl4bsmaTTonvWOOC9Ze0cYs6Oa/bVuWHMJVvKMZtehXLajbTvc1ardLFEF0uxfAjMSCRPuqF1EfVEvODVKpTTZqS9Q7BSpYUSLZRi+RCYkUhsutyvkJx2OV7wCpTTbqQpp1ilC6tWivYhcMKQrPSNtfT/q9hFilBOu5GjnL/dqS2WaKHU7iHYGcmcsP3tDpTTTuQoZ2KufnOuvhz6MBdJZlqu0Jtz9ZtzWNnWTuQop1anN2brZ2+3f6VxJ6Szt2s3Zus1CKetwMEDABGgHABEaP3e1AEfgla0CMAm0xLlRPsQtKJFADaZ1t9zAj4E4eVaYcpP3S060mIznpZ+djYtUU60D0F4uXQqJ2TrJ8/+NGF7fnCdz6GcNCB//5w4PgQhRbnK8e+SvHGT/Wa2XG/YoqEpisIb6ZF/Bky1uTs5gdQhf8+2OD4EIUXTpxxzFzVuv2PcQLG9U4qR40PAEseHIKSorpp791nv+OueKY+iKJ7JjznsuNsQupn2vn7ObI2zJ6E9vj2t+zcE5IogZMdbfwOh6ghRjv9vha8W5sIxp2sfcnwIWOL4EIQUZSb+3o1gefccc0w5G/I6e84G9zALKse3+aazl2x06z741fHjwvfxjFSOoanspqbsxp24V7UZOT4ELOK7uvN3k41Sjm8DW+su5R+mAeX4N5cNbvTObd0p5t7ygv1udF0sMe45nLsO5niJQI4PAUs6lMMZyQ1bZ/Fv+xw1KRNWDvvUzrtZNJTTduT4ELDE8SEIKbph5fD+405rKNU1/uccNobqasT+6bGGqVvSnZnZtbLTR/+8LXhz8e6ozvSIuUAoJxHIf7YWx4cgpCh37Np/3p1BxU6XVN4DAvd+4Egi8ISA88m7ceth8JTjm9xR71n/LUvVecphwpgn2FBOIpD/fU4cH4ImOuyQ3QGU3SvLEvLfIYjjQyCjncyOL7xCkApa8vZNtA+BpEayqBxrgpe1y8okWJ8DgAhQDgAiQDkAiADlACAClAOACPAhAEAE+BAAIAJ8CDafFl1mEyTlJ5Mm4EOw+TR9mXA+SADwIYimFW8qNKkcOB8kAvgQRJM45cD5ICHAh6AJH4JgJZzFC9z++C4zrEsB4HyQGOBDIOxDEGyIaxvA7U+wIW6XfMD5IEHAh8B7K4jtQxA2eP1/svn9CTQU2iX/TTZYRaOfpL93cD6QAnwI4rceHu52IWAbEF85DSZCcD5IFvAhEPYhCDTEtw3g9ifYELdLocD5oO3Ah6AJHwJ/Q1zbAG5/OA2FPF1o9JOC80GbgA8BwM9SBPgQALxCIAJ8CDobOB+IgvU5AIgA5QAgApQDgAhQDgAiQDkAiAAfAgBEgA8BACLAh6AFJOSbxYR0I6PAh6AFiDUEd4FUAR+CaDbtTQW4C6QM+BBEs0nKgbtA6oAPgaAPATOgmaU1Zq5v1bOnTh5wF0gh8CEQ9CFgK1MUd3mad90zt86ImuAukBrgQ8DeYTbiQ+A2qGiGrlqK8S0UC13+6bt1Bq+/0c+HBe4CbQA+BPFb92F/NnE0owcLhSz/9FRC/MBdIA3Ah0DYh8B+HGbX7czZNqKckOuHu0DigQ9Bsz4EVnF2NMtUDtwFEgp8CLILfkKtBD4EmQWvELQU+BBkEbgLtB6szwFABCgHABGgHABEgHIAEAHKAUAE+BAAIAJ8CAAQoRN8CNIAvrZMG53gQ9ACQjwDGp3VVd+7cp4iKbl2QCntDB8C6YR6BkSeNTTFXTmahMsAzdAJPgSSifAMaHjWIj03VxBGJ/gQeHKYwOBC/GDBAJGeAQ3Oeq7TexaeAWmjQ3wImJzQhfhccwIf0Z4BjRwFbEnAMyADdIAPgT/Hs8jYrSHUnMB/m+PXGrAsiL7nRBWGZ0Aa6AAfAo5yeCulG3/2iPYMaM5RAJ4BaaNDfAi8s7XAwKT+gszy/4Z95T1Q5px1H635pqLwDEglneBDQCOfEDDtcz6ah7Jh5YR+8odnQCqBD0EyyNbVdALwIUgEeIUgdcCHoN3AMyCdYH0OACJAOQCIAOUAIAKUA4AIUA4AIsCHAAAR4EMAgAid50OQli8d09LPTqXzfAhaNCJDvAc8axe4zTKLkjajn0AS8CGQQqgzQeQfA1Nt7nudIEXAh0ACEd4DMW6jCb0oEE32fAh0lSiazqxbtkP4m3hGRFoxUVMtq8Jw7wHmAiK2G41eXw1ngiSSTR8CZ3daQgJrwzzKiYyU4EzgjeOfbqgcOBMkkcz5EHgq4R3zhzrvuGlngvCrY4lxz4EzQfLInA+BXOU05UwQcXX+SqKUA2eCRJJJHwJJypHgTOAWcs0Q/PO24M0FzgQpIHs+BBKVI8OZwDO5o96z/luWqsOZIDXAhyCpZP360g58CBIKXiFIOPAhSB5wJkgDWJ8DgAhQDgAiQDkAiADlACAClAOACPAhAEAE+BAAIEKSfAiS/OVfkvsG2kGSfAgkjs4QVwBKw9f9O+e4y9igHOAlUT4EsghzBYhe98+Iw/OSNAAcEuVDIIcIVwD7fMOVZNl9tQdIIkk+BL73/7WAK0Ccd/4jXQF8zXjQVd+mof5teeEKABiS5EPgcwgIGhJwluNHVbEh5fhyw5UDVwBAabJ8CEKtMyLuOgKuAE3fc+AKAJLlQxCtHP5yfH/5GK4A4crxKjSwbTVcAYBLknwIopXDX44fSviu6yHr/tl8pzBcAUAISfIhaDBb4y7HD4WnnMh1/57z7Cd/uAIADknyIUjy8Ety30A7SJAPQZK/pk9y30BbSIYPQZJX3ie5b6B9YH0OACJAOQCIAOUAIAKUA4AIUA4AIsCHAAAR4EMAgAgd4kPgfRG6Adb7Nen7Bgff124iGfUh8LMB5WzeezYwS0gzmfQhCBKtHI9YYuzDLgWYJaSbDPoQ8EiccmCWkHYy5kPA+AF4whjl+CthdqB22wyuOWXb9LkO6CpRNN2qVtXdQqEKhFlC+smgD4FHL26FDVwEePccd1fcYLx3Z1I7ztRMgzU7MEvIApnyIQgMLXYlZ1wXAbft0IEZMYBD97h2OgmzhGyQJR+C4ImAcmK4CEQqh6vPGHtce3voB2YJKSRjPgSeM8x/bOXEcBGImq3xhbsh5XiAWUJ6yZgPgaEpRFUDDwjYzzm8Sqxczqf2iCcElImRqByYJaSDjPkQdPbg6Oyr32Qy5kPQ0WMHrxBsJhnzIehU5cAsYdPB+hwARIByABABygFABCgHABGgHABEgA8BACLAhwAAEZLkQ5B28E1kJ5EkH4JNI3qFnPBZKKeT6BAfAhZdZd8m9Y//Zs6CDqJDfAjC8Cybk3oWZJwk+RBQ6lk+qamcN+t9a5g5mTwDg6jmIu4bGzwLG4BOIkk+BB57AWZZI3fWxHcI4BoYhBK9gGbDZ2ED0EkkyYfANxg9y5q9f6hDF+Bzl8Txrf2i7cpEzsIGoJNIkg9BqHJMzKHIdVtiRcK3/gg2JVk2FDYAnUWSfAjCZ2ua56MCDXcIiKMc3jTOu5hZ8CxsADqJJPkQUM/6efYJQdB6MOoJQbRy2HLOFM4Z/c2chQ1AJ5EkHwIfm2XwLA1Io5NIkA8BpYameB46p0846eoxaIJk+BA4MA+k0jQIYQPQeWB9DgAiQDkAiADlACAClAOACP8PE2iKZp2/5dYAAAAASUVORK5CYII=" alt="" />

 package com.lym.test;

 import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils; import com.google.gson.JsonObject; public class HttpClientTest { public static void main(String args[]) throws Exception { // 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
// 依次是目标请求地址,端口号,协议类型
HttpHost target = new HttpHost("61.144.244.6:8888/sztmerchant/merchant/addIsztMerchant.htm", 8888, "http");
// 依次是代理地址,代理端口号,协议类型
HttpHost proxy = new HttpHost("proxy3.bj.petrochina", 8080, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); // 请求地址
HttpPost httpPost = new HttpPost("http://61.144.244.6:8888/sztmerchant/merchant/addIsztMerchant.htm");
// 设置头信息
httpPost.addHeader("Content-type", "application/json; charset=utf-8");
httpPost.setHeader("Accept", "application/json");
httpPost.setConfig(config); // 创建参数json串
JsonObject jsonObj = new JsonObject();
jsonObj.addProperty("merchantNo", "33300911238");
jsonObj.addProperty("merchantName", "电商运营生产测试1238");
String jsonStr = jsonObj.toString();
System.out.println("parameters: " + jsonStr); StringEntity entity;
try {
entity = new StringEntity(jsonStr, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = closeableHttpClient.execute(target, httpPost);
// getEntity()
HttpEntity httpEntity = response.getEntity();
if (httpEntity != null) {
// 打印响应内容
System.out.println("result: " + EntityUtils.toString(httpEntity, "UTF-8"));
}else {
System.out.println("无响应内容");
}
// 释放资源
if(closeableHttpClient != null) {
closeableHttpClient.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} }
05-08 15:39