Golang 有这两个类似的库http,httptest而且它们都有NewRequestfunc。
为什么我们甚至需要httptest.NewRequestifhttp.NewRequest呢?
如果我需要为我的测试创建一个 multipart/multiform 请求,我需要使用哪一个?
当我通过请求参数更改首选语言时,网页中的语言会发生变化(使用 检索消息<spring:message code="xxxx"/>)但控制器中的区域设置不会更改,例如:
private void simpleControllerMethod(HttpServletRequest request, HttpServletResponse response, ModelAndView model) {
System.out.println(request.getLocale().toString()); // prints default application locale no matter what
}
Run Code Online (Sandbox Code Playgroud)
dispather-servlet.xml 包含:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>messages</value>
</property>
<property name="defaultEncoding" value="UTF-8" />
<property name="fallbackToSystemLocale" value="false" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="lt" />
<property name="cookieName" value="lang" />
<property name="cookieMaxAge" value="3600"/>
</bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"></property>
</bean>
</mvc:interceptors>
Run Code Online (Sandbox Code Playgroud)
为什么 HttpServletRequest 的语言环境不会改变?
我正在尽我最大的努力避免我的 Node JS 回调地狱。但是我正在尝试发出大量 api 请求并将它们插入到我的数据库中。
我的问题(当然)是我的 for 循环在完成请求和数据库插入之前运行并增加 i 。
for(var i = 0; i <= 1 ; i++){
apiRequest = data[i];
apicall(apiRequest);
}
function apicall(urlApi){
request((urlApi), function(error, response, body){
if(error){
console.log("error");
} else if(!error && response.statusCode == 200){
var myobj = JSON.parse(body);
dbInsert(myobj);
}
});
}
function dbInsert(obj) {
//insert into database
}
Run Code Online (Sandbox Code Playgroud)
如果其他人会问这个问题,我可以真正推荐这篇博文,这是我在阅读joshvermaire的回复后发现的:
我正在尝试使用 Tor 来更改 Ip 根据 Tor-Request 文档,我应该能够简单地使用
newTorSession
Run Code Online (Sandbox Code Playgroud)
但是ip没变。我的代码有什么问题?
var tr = require('tor-request');
requestIP();
tr.setTorAddress('localhost', 9050);
tr.newTorSession( (err) =>
{
console.log (err);
requestIP();
return;
});
//console.log (tr.TorControlPort)
function requestIP() {
tr.request('https://api.ipify.org', function (err, res, body) {
if (!err && res.statusCode == 200) {
console.log("Your public (through Tor) IP is: " + body);
}
})
}
Run Code Online (Sandbox Code Playgroud) 我在一个弹出窗口中点击了“取消”,该弹出窗口要求对我制作的应用程序中的照片库进行许可。这来自我没有制作的东西,而是来自操作系统。
现在,如果用户再次尝试点击照片库按钮,我需要回退。授权状态为拒绝。我通过这种方式检查证明:
let status = PHPhotoLibrary.authorizationStatus()
switch status {
case .authorized:
print("authorized")
case .denied:
print("denied") // it is denied
case .notDetermined:
print("notDetermined")
case .restricted:
print("restricted")
}
Run Code Online (Sandbox Code Playgroud)
如何再次显示一个弹出窗口,要求获得照片库的许可?我到处找,找不到任何有用的东西。
我希望它是这样的,但 PHPhotoLibrary 没有成员“requestAccess”:
PHPhotoLibrary.requestAccess(for: ???) { response in
if response {
//access granted
} else {
}
}
Run Code Online (Sandbox Code Playgroud) 我需要 get 方法但不起作用
我的代码:
<?php
$page = $_GET['page'] ? intval($_GET['page']) : 1;
echo "current page : ".$page."<br/>";
?>
Run Code Online (Sandbox Code Playgroud)
和
$page 的结果是 1. 但我尝试www.example.com/test.php?page=3
$page 的结果仍然是输出 1。
为什么会这样?
我试图从 Magento2 请求一个简单的 API 搜索,但显然我不能在 URL 请求中使用 % 符号。还有另一种方法可以在 URL 中使用百分号吗?
请求链接:
const request_data = {
url: 'http://.../rest/V1/products?searchCriteria[filter_groups][0][filters][0]'+
'[field]=name&searchCriteria[filter_groups][0][filters][0][value]=%Example%'+
'&searchCriteria[filter_groups][0][filters][0][condition_type]=like',
method: 'GET',
};
Run Code Online (Sandbox Code Playgroud)
控制台错误:
URIError: URI 格式错误
Run Code Online (Sandbox Code Playgroud)at decodeURIComponent (<anonymous>) at OAuth.deParam (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:227:27) at OAuth.deParamUrl (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:245:17) at OAuth.getParameterString (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:142:132) at OAuth.getBaseString (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:124:130) at OAuth.getSignature (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:100:36) at OAuth.authorize (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:87:39) at Object.module.exports.init (/Users/Kevin/Desktop/TestingModules/test.js:36:43) at [eval]:1:19 at ContextifyScript.Script.runInThisContext (vm.js:50:33)
您好,我尝试将数据保存到数据库,但返回错误:
/home/ria/gajiandulu/gajiandulu-api/node_modules/sequelize/lib/model.js:2035
}).save(options);
Run Code Online (Sandbox Code Playgroud)
代码:
var data = []
router.get('/', (req, res,next) => {
request('http://localhost:3000/api/v1/promos', (error, response, body) => {
if(error) {
res.json('An erorr occured')
console.log(error)
}
else {
let result = JSON.parse(body)
res.send(result.data)
data.push(result.data)
}
console.log(data + "ini")
const save_data = Test.create(data)
if (save_data) {
return res
.status(201)
.json(true, 'data has ben retrieved')
}else{
return res.status(400).json(response(false, error))
}
});
});
Run Code Online (Sandbox Code Playgroud)
有人知道我的代码有什么问题吗???????
我正在尝试使用请求和 BeautifulSoup 来抓取网站。当我运行代码来获取网页的标签时,soup 对象是空白的。我把请求对象打印出来看看请求是否成功,没有。打印结果显示响应 447。我无法找到 447 作为 HTTP 状态代码的含义。有谁知道我如何成功连接和抓取网站?
代码:
r = requests.get('https://foobar)
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.get_text())
Output:
''
Run Code Online (Sandbox Code Playgroud)
当我打印请求对象时:
print(r)
Output:
<Response [447]>
Run Code Online (Sandbox Code Playgroud) 我正在尝试输入我的请求的返回,但是我收到以下错误:
“Observable”类型不能分配给“Observable”类型。类型 'ArrayBuffer' 缺少类型 'AccountModel[]' 中的以下属性:length、pop、push、concat 等 25 个
我的要求如下:
getAccounts(): Observable<AccountModel[]>
{
return this.http.get(`${this._configShared.getApiUrl()}`, this.httpOptions);
}
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
提前致谢...
我执行了以下操作,但它也不起作用:
getAccounts(): Observable<AccountModel[]>
{
return this.http.get<AccountModel[]>(`${this._configShared.getApiUrl()}`, this.httpOptions);
}
Run Code Online (Sandbox Code Playgroud)
错误:
类型 'Observable>' 不可分配给类型 'Observable'。类型“HttpEvent”不可分配给类型“AccountModel[]”。“HttpSentEvent”类型缺少“AccountModel[]”类型中的以下属性:length、pop、push、concat 等 26 个。
request ×10
node.js ×4
http ×2
angular ×1
api ×1
callback ×1
controller ×1
get ×1
go ×1
java ×1
locale ×1
loops ×1
magento ×1
php ×1
python-3.x ×1
sequelize.js ×1
spring ×1
swift ×1
tor ×1
unit-testing ×1
web-scraping ×1