大家好我正在使用laravel 3,我想向laravel 3控制器发帖请求。 这里是coontroller users.php
class Users_Controller extends Base_Controller
{
public $restful = true;
public function post_signin()
{
print("request success");
}
}
这是routes.php
Route::get('signin', array('as'=>'signin','uses'=>'users@signin'));
Route::post('signin', array('uses'=>'users@signin'));
这里是android post request
httppost= new HttpPost("http://test.com/signin");
test.com是我通过主机文件使用的本地域名。 我应该在android中输入什么网址来发帖请求?这样它就可以转到users.php并执行该文件的post_signin方法。
我试过了
1) httppost= new HttpPost("http://test.com/signin"); (as per my route of routes.php)
2)httppost= new HttpPost("http://localhost/androidtest/application/controller/users.php");
3) httppost= new HttpPost("http://test.com/users/signin");
(as per this referance (http://stackoverflow.com/questions/16137851/url-to-do-request-on-laravel)
答案 0 :(得分:0)
根据您的评论,您正在执行请求两次但使用不同的方法(执行)。您只需要一次执行即可向服务器发出请求。您还将响应变量用作字符串和HttpResponse对象。
请尝试使用以下代码提出请求,使用您的网址更改网址
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse hResponse = httpClient.execute(httpPost);
StatusLine sl = hResponse.getStatusLine();
int statusCode = sl.getStatusCode();
if ( statusCode == 200 ){
HttpEntity hp = hResponse.getEntity();
InputStream content = hp.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
StringBuilder builder = new StringBuilder();
String line;
while((line = reader.readLine()) != null){
builder.append(line);
}
String responseBody = builder.toString();
System.out.println("Response : " + responseBody);
}