小编Mog*_*rDK的帖子

HttpURLConnection向Apache/PHP发送JSON POST请求

我正在努力使用HttpURLConnection和OutputStreamWriter.

代码实际到达服务器,因为我得到了有效的错误响应.发出POST请求,但服务器端没有收到任何数据.

任何有关正确使用此东西的提示都非常受欢迎.

代码在AsyncTask中

protected JSONObject doInBackground(Void... params) {                                   
    try {                                                                               
        url = new URL(destination);                                                     
        client = (HttpURLConnection) url.openConnection();                              
        client.setDoOutput(true);                                                       
        client.setDoInput(true);                                                        
        client.setRequestProperty("Content-Type", "application/json; charset=UTF-8");   
        client.setRequestMethod("POST");                                                
        //client.setFixedLengthStreamingMode(request.toString().getBytes("UTF-8").length);
        client.connect();                                                               

        Log.d("doInBackground(Request)", request.toString());                           

        OutputStreamWriter writer = new OutputStreamWriter(client.getOutputStream());   
        String output = request.toString();                                             
        writer.write(output);                                                           
        writer.flush();                                                                 
        writer.close();                                                                 

        InputStream input = client.getInputStream();                                    
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));       
        StringBuilder result = new StringBuilder();                                     
        String line;                                                                    

        while ((line = reader.readLine()) != null) {                                    
            result.append(line);                                                        
        }                                                                               
        Log.d("doInBackground(Resp)", result.toString());                               
        response = new JSONObject(result.toString());                                   
    } catch (JSONException e){                                                          
        this.e = e; …
Run Code Online (Sandbox Code Playgroud)

java ajax android httpurlconnection

8
推荐指数
1
解决办法
2万
查看次数

Perl Regex-从maillog中提取ipv4

我正在perl / mysql / iptables中研究像系统这样的分布式fail2ban。

从/ var / log / messages中提取ipv4地址是可行的,但是现在我想在汤中添加/ var / log / maillog。

我有一个perl正则表达式:[1]

/ (?:25[012345]|2[0-4]\d|1?\d\d?)\.
  (?:25[012345]|2[0-4]\d|1?\d\d?)\.
  (?:25[012345]|2[0-4]\d|1?\d\d?)\.
  (?:25[012345]|2[0-4]\d|1?\d\d?) /x
Run Code Online (Sandbox Code Playgroud)

和来自maillog的一行:

v817YjcU016645: 194.102.60.190.host.ifxnetworks.com [190.60.102.194] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Run Code Online (Sandbox Code Playgroud)

这里的正则表达式匹配194.102.60.190.host.ifxnetworks.com和[ 190.60.102.194]

在我的代码中($ IP是上面的正则表达式):

if ($line =~ m/($IP)/)
{
    my ($ip) = $1;
Run Code Online (Sandbox Code Playgroud)

在这里找到第一个匹配的类似ip的字符串194.102.60.190.host.ifxnetworks.com

因此,我如何让正则表达式忽略以a结尾的ipv4 .


[1]为了提高可读性Perl支持/ x选项

regex perl ipv4

3
推荐指数
1
解决办法
99
查看次数

Bash 检查 CIDR 地址是否有效

我似乎无法理解这个问题。我有一个正则表达式,用于检查字符串是否包含有效的 CIDR 表示法地址。

(((?:25[012345]|2[0-4]\d|1?\d\d?)\.){3}(?:25[012345]|2[0-4]\d|1?\d\d?))(?:\/([1-9]|[1-2][0-9]|3[0-2]))(?![.\d])

这个东西可以在 Perl、PHP、Javascript 中运行,并x.x.x.x/8y.y.y.y/32.

我尝试将它们更改\d[[:digit:]]Nothing \\d:(

用于测试的测试脚本:

#!/bin/bash

if [ "$1" = "" ]
then
    echo "Usage: $( basename $0) 123.456.789.0/12"
    exit
fi
REGEX1='(((?:25[012345]|2[0-4]\d|1?\d\d?)\.){3}(?:25[012345]|2[0-4]\d|1?\d\d?))(?:\/([1-9]|[1-2][0-9]|3[0-2]))(?![.\d])'
REGEX2='(((?:25[012345]|2[0-4]\\d|1?\\d\\d?)\.){3}(?:25[012345]|2[0-4]\\d|1?\\d\\d?))(?:\\/([1-9]|[1-2][0-9]|3[0-2]))(?![.\\d])'
REGEX3='(((?:25[012345]|2[0-4][[:digit:]]|1?[[:digit:]][[:digit:]]?)\\.){3}(?:25[012345]|2[0-4][[:digit:]]|1?[[:digit:]][[:digit:]]?))(?:\\/([1-9]|[1-2][0-9]|3[0-2]))(?![.[[:digit:]]])'

REGEX=$REGEX3

if [[ $1 =~ $REGEX ]]
then
    echo "$1 OK!"
else
    echo "$1 Not OK! $REGEX"
fi
Run Code Online (Sandbox Code Playgroud)

有什么想法可以从这里去哪里吗?

更新。添加工作脚本:

#!/bin/bash

if [ "$1" = "" ]
then
    echo "Usage: $( basename $0) 123.456.789.0/12"
    exit
fi

REGEX='(((25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?))(\/([8-9]|[1-2][0-9]|3[0-2]))([^0-9.]|$)'

if [[ $1 =~ $REGEX …
Run Code Online (Sandbox Code Playgroud)

regex validation bash cidr

1
推荐指数
1
解决办法
5495
查看次数

标签 统计

regex ×2

ajax ×1

android ×1

bash ×1

cidr ×1

httpurlconnection ×1

ipv4 ×1

java ×1

perl ×1

validation ×1