我试图在Android Studio项目的Gradle脚本中使用Httpbuilder-NG。脚本将一些文件上传到Web服务器进行验证,服务器以“确定”方式响应。或者未验证的文件的名称。
我正在尝试
NULL
,结果总是:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node {
int times;
char name[100];
char number[100];
struct node* next;
};
typedef struct node* node;
void mklist(node* n) {
(*n)->times = 0;
strcpy((*n)->name, "null");
strcpy((*n)->number, "null");
(*n)->next = (node)NULL;
}
int main(void) {
node n;
mklist(&n);
return 0;
}
请注意,它是一个4元素数组,而不是文本字符串。并且无论服务器返回&#39; ok&#39;数组都保持不变。或者是其他东西。我知道我的服务器可能会返回一些非标准的东西,但它在Postman中工作正常。
我也试过
response.success { FromServer fs, Object body ->
println "Success: ${fs.statusCode}, Text is: ${body}, Properties are: ${body.properties}"
}
,结果始终是
Success: 200, Text is: [102, 105, 108, 101], Properties are: [class:class [B, length:4]
即。身体应该是一个空白的字符串。
fs.hasBody返回 response.success { FromServer fs, Object body ->
println "has body = ${fs.hasBody}"
println "content type = ${fs.contentType}"
println "charset = ${fs.charset}"
println "files uploaded, result = ${fs.reader.text}"
//println "Success: ${fs.statusCode}, Text is: ${body}, Properties are: ${body.properties}"
}
任何帮助都将不胜感激。
答案 0 :(得分:1)
def httpBin = configure {
request.uri = 'http://groovy-lang.org/processing-xml.html'
}
def result = httpBin.get() {
response.success { fromServer,body ->
body
}
}
assert result instanceof groovy.util.slurpersupport.NodeChild
println result
上面的代码段会返回此web page http//...processing-xml
的<body>
标记内的所有文字
要缩小搜索范围,您需要进一步解析groovy.util.slurpersupport.NodeChild
。