【linux】如何将python脚本作为linux服务启动

1,如何将python脚本" title="python脚本">python脚本作为linux服务启动,并用javaweb用post请求传参。
httpPost(127.0.0.1/app, jsonParam)

回答

服务端代码

python-flask编写

from flask import Flask

from flask import request

import json

@app.route("/" , methods=["POST"])

def hello_world():

rev = request.json

print(rev)

return json.dumps( rev )

if __name__ == '__main__':

app.run(

host='192.168.80.132'

)

客户端代码

package model;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.ResponseHandler;

import org.apache.http.client.entity.UrlEncodedFormEntity;

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.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

import org.json.JSONObject;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

/**

* <p>Title : Client </p>

* <p>Description : 请求服务器地址</p>

*

* @author huifer

* @date 2018/10/24

*/

public class Client {

public static void main(String args[]) {

try {

JSONObject obj = new JSONObject();

obj.append("field_1", "1");

obj.append("field_2", 2);

CloseableHttpClient httpclient = HttpClients.createDefault();

System.out.println(obj);

HttpPost httpPost = new HttpPost("http://192.168.80.132:5000");

httpPost.addHeader("Content-Type", "application/json;charset=UTF-8");

// 解决中文乱码问题

StringEntity stringEntity = new StringEntity(obj.toString(), "UTF-8");

stringEntity.setContentEncoding("UTF-8");

httpPost.setEntity(stringEntity);

System.out.println("Executing request " + httpPost.getRequestLine());

ResponseHandler<String> responseHandler = new ResponseHandler<String>() {

@Override

public String handleResponse(final HttpResponse response)

throws ClientProtocolException, IOException {

int status = response.getStatusLine().getStatusCode();

if (status >= 200 && status < 300) {

HttpEntity entity = response.getEntity();

return entity != null ? EntityUtils.toString(entity) : null;

} else {

throw new ClientProtocolException(

"Unexpected response status: " + status);

}

}

};

String responseBody = httpclient.execute(httpPost, responseHandler);

System.out.println("----------------------------------------");

System.out.println(responseBody);

} catch (Exception e) {

System.out.println(e);

}

}

}

运行截图

【linux】如何将python脚本作为linux服务启动
先用postman 请求一次

【linux】如何将python脚本作为linux服务启动

再用JAVA HttpClient 请求
【linux】如何将python脚本作为linux服务启动

用supervisor应该可以解决你的问题

如果是定时的任务,crontab应该也可以解决

你是想用 python 搭一个 web 服务器吧?
如果需求很简单,可以试试BaseHttpServer

https://docs.python.org/2/lib...

复杂一点的 python 框架有很多, 如 Django

以上是 【linux】如何将python脚本作为linux服务启动 的全部内容, 来源链接: utcz.com/a/84450.html

回到顶部