Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-qywx-self
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
gic-qywx-self
Commits
b870544b
Commit
b870544b
authored
Nov 08, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
换回jar
parent
9061e66d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
66 additions
and
46 deletions
+66
-46
pom.xml
pom.xml
+6
-0
HttpClient.java
src/main/java/com/gic/qywx/self/HttpClient.java
+26
-24
QywxController.java
src/main/java/com/gic/qywx/self/QywxController.java
+33
-21
application.yml
src/main/resources/application.yml
+1
-1
No files found.
pom.xml
View file @
b870544b
...
...
@@ -56,6 +56,12 @@
<artifactId>
commons-fileupload
</artifactId>
<version>
1.3.3
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.7
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/gic/qywx/self/HttpClient.java
View file @
b870544b
package
com
.
gic
.
qywx
.
self
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.UnsupportedEncodingException
;
import
java.net.HttpURLConnection
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.HttpVersion
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.auth.AuthScope
;
import
org.apache.http.auth.UsernamePasswordCredentials
;
import
org.apache.http.client.ClientProtocolException
;
import
org.apache.http.client.CredentialsProvider
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.conn.ClientConnectionManager
;
...
...
@@ -41,7 +26,6 @@ import org.apache.http.impl.client.AbstractHttpClient;
import
org.apache.http.impl.client.BasicCredentialsProvider
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
;
import
org.apache.http.message.BasicNameValuePair
;
import
org.apache.http.params.BasicHttpParams
;
import
org.apache.http.params.HttpConnectionParams
;
import
org.apache.http.params.HttpParams
;
...
...
@@ -51,7 +35,18 @@ import org.apache.http.util.EntityUtils;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
com.alibaba.fastjson.JSON
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.UnsupportedEncodingException
;
import
java.net.HttpURLConnection
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Map.Entry
;
public
class
HttpClient
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
HttpClient
.
class
);
...
...
@@ -66,7 +61,7 @@ public class HttpClient {
protected
static
org
.
apache
.
http
.
client
.
HttpClient
getHttpClient
(
String
ip
)
{
org
.
apache
.
http
.
client
.
HttpClient
mHttpClient
=
map
.
get
(
ip
)
;
logger
.
info
(
"clientSize={}"
,
map
.
size
());
//
logger.info("clientSize={}",map.size());
if
(
null
!=
mHttpClient
)
{
return
mHttpClient
;
}
...
...
@@ -149,7 +144,11 @@ public class HttpClient {
e
.
printStackTrace
();
}
finally
{
long
end
=
new
Date
().
getTime
();
logger
.
info
(
"call-res cost:"
+
(
end
-
begin
)
+
" url:"
+
url
+
" param:"
+
jsonStr
+
" res:"
+
resInfo
);
if
(
StringUtils
.
isBlank
(
resInfo
))
{
logger
.
info
(
"请求url={},req={},resp={},time={}"
,
url
,
map
,
"企微返回为空"
,
(
end
-
begin
));
}
else
{
logger
.
info
(
"请求url={},req={},resp={},time={}"
,
url
,
map
,
resInfo
,
(
end
-
begin
));
}
}
return
weixinMap
;
}
...
...
@@ -183,7 +182,11 @@ public class HttpClient {
return
new
HashMap
<
String
,
Object
>();
}
finally
{
long
end
=
new
Date
().
getTime
();
logger
.
info
(
"call-res cost:"
+
(
end
-
begin
)
+
" url:"
+
url
+
" param:"
+
map
+
" res:"
+
entityStr
);
if
(
StringUtils
.
isBlank
(
entityStr
))
{
logger
.
info
(
"file请求url={},req={},resp={},time={}"
,
url
,
map
,
"企微返回为空"
,
(
end
-
begin
));
}
else
{
logger
.
info
(
"file请求url={},req={},resp={},time={}"
,
url
,
map
,
entityStr
,
(
end
-
begin
));
}
}
return
obj
;
}
...
...
@@ -285,14 +288,13 @@ public class HttpClient {
}
private
static
void
setIp
(
org
.
apache
.
http
.
client
.
HttpClient
client
,
byte
[]
ip
)
{
try
{
try
{
if
(
null
!=
ip
)
{
client
.
getParams
().
setParameter
(
ConnRouteParams
.
LOCAL_ADDRESS
,
InetAddress
.
getByAddress
(
ip
))
;
}
else
{
logger
.
info
(
"IP为空"
);
}
}
catch
(
UnknownHostException
e2
)
{
// TODO Auto-generated catch block
e2
.
printStackTrace
();
}
}
...
...
src/main/java/com/gic/qywx/self/QywxController.java
View file @
b870544b
package
com
.
gic
.
qywx
.
self
;
import
java.io.
IOException
;
import
java.io.
*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.http.entity.ContentType
;
import
org.apache.http.entity.mime.content.ByteArrayBody
;
import
org.apache.http.entity.mime.content.ContentBody
;
import
org.
slf4j.Log
ger
;
import
org.
slf4j.LoggerFactory
;
import
org.
apache.logging.log4j.LogMana
ger
;
import
org.
apache.logging.log4j.Logger
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -23,48 +23,61 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
@RequestMapping
(
"/qywx"
)
public
class
QywxController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
QywxController
.
class
);
private
Logger
logger
=
LogManager
.
getLogger
(
QywxController
.
class
);
@RequestMapping
(
"self-post"
)
public
Object
selfPost
(
HttpServletRequest
request
,
String
url
,
String
json
,
String
ip
)
{
String
traceid
=
request
.
getParameter
(
"tranceid"
)
;
logger
.
info
(
"自建post,url={},json={},{},{}"
,
url
,
json
,
traceid
,
ip
);
public
Object
selfPost
(
String
url
,
String
json
,
String
ip
)
{
logger
.
info
(
"自建post,url={},json={},ip={}"
,
url
,
json
,
ip
);
Map
<
String
,
Object
>
map
=
HttpClient
.
getWinxinResByJson
(
url
,
json
,
getIp
(
ip
)
,
ip
);
return
map
;
}
@RequestMapping
(
"self-post-json"
)
public
Object
selfPostJson
(
HttpServletRequest
request
,
String
url
,
@RequestBody
String
json
,
String
ip
)
{
String
traceid
=
request
.
getParameter
(
"tranceid"
)
;
logger
.
info
(
"自建post json,url={},json={},{},{}"
,
url
,
json
,
traceid
,
ip
);
public
Object
selfPostJson
(
String
url
,
@RequestBody
Map
<
String
,
Object
>
jsonBody
,
String
ip
)
{
String
json
=
null
;
if
(
null
!=
jsonBody
)
{
json
=
JSONObject
.
toJSONString
(
jsonBody
)
;
}
logger
.
info
(
"自建post-json,url={},json={},,ip={}"
,
url
,
json
,
ip
);
Map
<
String
,
Object
>
map
=
HttpClient
.
getWinxinResByJson
(
url
,
json
,
getIp
(
ip
)
,
ip
);
return
map
;
}
@RequestMapping
(
"self-post-json-body"
)
public
Object
selfPostJson
(
HttpServletRequest
request
,
String
url
,
String
ip
)
throws
IOException
{
InputStream
inputStream
=
request
.
getInputStream
();
Map
<
String
,
Object
>
map
=
null
;
try
{
String
json
=
IOUtils
.
toString
(
inputStream
,
"UTF-8"
)
;
logger
.
info
(
"自建post-json,url={},json={},ip={}"
,
url
,
json
,
ip
);
map
=
HttpClient
.
getWinxinResByJson
(
url
,
json
,
getIp
(
ip
)
,
ip
);
}
finally
{
IOUtils
.
closeQuietly
(
inputStream
);
}
return
map
;
}
@RequestMapping
(
"self-get"
)
public
Object
selfGet
(
HttpServletRequest
request
,
String
url
,
String
ip
)
{
String
traceid
=
request
.
getParameter
(
"tranceid"
)
;
logger
.
info
(
"自建get,url={},{},{}"
,
url
,
traceid
,
ip
);
logger
.
info
(
"自建get,url={},ip={}"
,
url
,
ip
);
Map
<
String
,
Object
>
map
=
HttpClient
.
getHttpByGet
(
url
,
getIp
(
ip
)
,
ip
);
return
map
;
}
@RequestMapping
(
"self-upload"
)
public
Object
selfUpload
(
HttpServletRequest
request
,
String
url
,
String
fileUrl
,
String
fileName
,
String
ip
)
{
String
traceid
=
request
.
getParameter
(
"tranceid"
)
;
logger
.
info
(
"自建upload,url={},fileUrl={},{},{}"
,
url
,
fileUrl
,
traceid
,
ip
);
public
Object
selfUpload
(
String
url
,
String
fileUrl
,
String
fileName
,
String
ip
)
{
logger
.
info
(
"自建upload,url={},fileUrl={},ip={}"
,
url
,
fileUrl
,
ip
);
byte
[]
data
=
CommonUtil
.
getFileByte
(
fileUrl
);
Map
<
String
,
ContentBody
>
paramsMap
=
new
HashMap
<
String
,
ContentBody
>();
paramsMap
.
put
(
"media"
,
new
ByteArrayBody
(
data
,
ContentType
.
DEFAULT_BINARY
,
fileName
));
Map
<
String
,
Object
>
map
=
HttpClient
.
getWinxinResByFile
(
url
,
paramsMap
,
getIp
(
ip
)
,
ip
);
logger
.
info
(
"自建upload end={}"
,
traceid
);
return
map
;
}
@RequestMapping
(
"self-upload-data"
)
public
Object
selfImage
(
HttpServletRequest
request
,
String
url
,
String
fileName
,
String
ip
)
throws
IOException
{
String
traceid
=
request
.
getParameter
(
"tranceid"
)
;
logger
.
info
(
"自建upload-data,url={},{},{}"
,
url
,
traceid
,
ip
);
logger
.
info
(
"自建upload-data,url={},ip={}"
,
url
,
ip
);
MultipartHttpServletRequest
multiRequest
=
(
MultipartHttpServletRequest
)
request
;
List
<
MultipartFile
>
list
=
multiRequest
.
getMultiFileMap
().
get
(
"media"
);
MultipartFile
mf
=
list
.
get
(
0
);
...
...
@@ -72,7 +85,6 @@ public class QywxController {
Map
<
String
,
ContentBody
>
paramsMap
=
new
HashMap
<
String
,
ContentBody
>();
paramsMap
.
put
(
"media"
,
new
ByteArrayBody
(
data
,
ContentType
.
DEFAULT_BINARY
,
fileName
));
Map
<
String
,
Object
>
map
=
HttpClient
.
getWinxinResByFile
(
url
,
paramsMap
,
getIp
(
ip
)
,
ip
);
logger
.
info
(
"自建upload-data end={}"
,
traceid
);
return
map
;
}
...
...
src/main/resources/application.yml
View file @
b870544b
server
:
port
:
89
6
0
port
:
89
9
0
servlet
:
context-path
:
/api-qywx-self
multipart
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment