Code Monkey home page Code Monkey logo

nohttp's People

Contributors

y0landa avatar yanzhenjie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nohttp's Issues

多個文件上傳問題?

開發者大大您好,我想上傳多個檔案,以下是我的部分代碼

File file1 = new File(Environment.getExternalStorageDirectory().getPath()+"/xxx.txt");
File file2 = new File(Environment.getExternalStorageDirectory().getPath()+"/yyy.txt");

BasicBinary binary1 = new FileBinary(file1);
BasicBinary binary2 = new FileBinary(file2);

request.add("file", binary1);
request.add("file", binary2);

requestQueue.add(NOHTTP_WHAT_TEST, request, onResponseListener);

php端接收:

600 * 1024){ echo "file size invalid, size > 600kb"; }else{ //如果出错就输出错误信息 if($_FILES["file"]["error"] > 0){ echo "upload file error !"; }else{ //没有错误,就拷贝上传的文件到指定的目录 $name = $_FILES["file"]["name"]; $dir = "upload/"; //如果目录不存在,就创建 if(!file_exists($dir)){ mkdir("upload/"); } //判断文件是否已存在 if(file_exists("upload/" . $name)){ echo "file exist"; }else{ //指定目录下不存在文件,则拷贝文件 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "upload file complete"; } } } ``` ?>

上傳之後只會有 yyy.txt ,xxx.txt好像不會被上傳,是哪邊代碼有少打嗎?

還請大神賜教。

java.net.SocketException: sendto failed: EPIPE (Broken pipe)

java.net.SocketException: sendto failed: EPIPE (Broken pipe)
at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:546)
at libcore.io.IoBridge.sendto(IoBridge.java:515)
at java.net.PlainSocketImpl.write(PlainSocketImpl.java:504)
at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:37)
at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:266)
at okio.Okio$1.write(Okio.java:78)
...
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
at java.lang.Thread.run(Thread.java:818) 

sendto failed: EPIPE (Broken pipe),swankjesse的回答:That's working as designed. Sometimes you lose network connectivity.

Please see here: square/okhttp#1775

文件下载出现问题

你好,我在你的demo的单个文件下载界面修改了一下,我要多个url顺序下载,我先把这些url创建DownloadRequest并保存到list里面,然后一个下载完成后就进行下一个下载,但是当我点击暂停时,就不能恢复下载了,我debug发现好像在点cancel的时候,blockquene没有把这个移除掉。希望帮忙确认一下是什么问题,谢谢。

您好,怎么解决中文乱码的问题

您好,目标网页是gbk编码的,用get方法获取网页内容,在succeed里取出中文的时候乱码,请问怎么解决呢?

    public void onSucceed(int what, Response<String> response) {
        String result =  response.get()
        TextView tvRet = (TextView) findViewById(R.id.tvRet);
        tvRet.setText(result);
    }

response.isSucceed()这个方法的逻辑有问题

response.isSucceed()这个方法好像并不能用来判断请求是否成功啊. 我试了, 明明状态已经是404了, response.isSucceed()返回的却是true, 我觉得应该根据code是否在200到300之间来判断是否是success

hi

前排

thread interrupted错误

android 6.0 RequestQueue 去 start() 一个 stringRequest 时,报thread interrupted无法连接上网络,能帮忙分析一下错误吗?

java.io.InterruptedIOException: thread interrupted
at com.android.okhttp.okio.Timeout.throwIfReached(Timeout.java:145)
at com.android.okhttp.okio.Okio$1.write(Okio.java:73)
at com.android.okhttp.okio.AsyncTimeout$1.write(AsyncTimeout.java:155)
at com.android.okhttp.okio.RealBufferedSink.flush(RealBufferedSink.java:221)
at com.android.okhttp.internal.http.HttpConnection.flush(HttpConnection.java:141)
at com.android.okhttp.internal.http.HttpTransport.finishRequest(HttpTransport.java:52)
at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:903)
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:789)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:443)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:388)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:501)
at com.yolanda.nohttp.BasicConnection.getConnection(BasicConnection.java:88)
at com.yolanda.nohttp.rest.HttpRestConnection.sendRequestHandleRetry(HttpRestConnection.java:135)
at com.yolanda.nohttp.rest.HttpRestConnection.requestNetwork(HttpRestConnection.java:84)
at com.yolanda.nohttp.rest.HttpRestParser.parserRequest(HttpRestParser.java:51)
at com.yolanda.nohttp.rest.RequestDispatcher.run(RequestDispatcher.java:101)

问问有关架构的东西

达哥 最近看了nohttp的源码 我怎么感觉你的架构 和Volley的架构很相似 是不是你在开发的时候 参考了Volley的东西

咨询关于httplistener

在daemon中看到实现了一个接口HttpListener, 但是在nohttp源码中看到有OnResponseListener, 为什么不直接用OnResponseListener? 这样有什么好处吗?

怎么获取nohttp的错误消息

比如超时、网络错误等情况,我需要在 APP 中针对每种情况进行处理。请问如何能获取 nohttp 中这类错误消息?

上传文件时,调用request.cancle()无法取消上传

已测试,确实存在上传无法取消的问题,复现方法很简单,只需在sample项目中的上传代码中增加取消下载功能即可,经测试,在上传过程中,调用Request.cancle(),Request.cancelBySign(),RequestQueue.cancelBySign()以及RequestQueue.cancelAll()均无法停止上传,OnUploadListener中的回调方法依然会被调用,跪求 @Y0Landa 大神解决。测试系统为Android5.1.1,测试设备为Google Nexus 9。

几个小问题

  • 我看您在给出的 demo 里把 RequestQueue 的获取弄成单例了,但是这样是不是并发请求数就固定了,如果有特殊需要,还要自己再获取另一个可以指定并发请求数的 RequestQueue 呢?
  • 还有就是在首页 StartActivity 退出时执行了三步操作:先取消所有请求,然后停止所有请求队列,最后杀死进程,请问这样是必要的也必须按照这个顺序来吗?

CallServer

怎么没有CallServer这个方法?
CallServer.getDownloadInstance().add(0, downloadRequest, downloadListener);
CallServer 报错

支持缓存自定义key吗?

因为在客户端请求的时候 经常会有参数是动态的!okhttp默认是url+参数 md5生产的key!造成带动态参数的缓存就没有意义了!

Status Code 302

对于Status Code 为 302 的这类访问,会自动转向目标URL,但是我只想要当前URL的Cookie这个怎么解决。
比如放问AURL,Status Code为302 跳转到BURL,但是我只想要AURL响应头里的Cookie。
求解决 谢谢!

请教一个问题

使用nohttp,如何将网络请求单独写在一个类里面,然后回调到对应的activity或fragment里面

android studio

android studio 为什么不能直接添加依赖,我搜索不到nohttp

能傳入JsonObject嗎?

開發者大大您好,傳入資料的時候,我想用JsonObject,但是在request.add( object );的時候,好像只能add字串,不能add(jsonObject)嗎?

因為在後台php程式碼裡面,我想把傳入的json解析,這樣實作上比較方便。

JSONObject object = new JSONObject();
try 
{
    object.put("member_account","test");
    object.put("member_password","test");
    object.put("member_email","[email protected]");
}
catch(JSONException e)
{
    e.printStackTrace();
}

request.add( object );

有提问

添加到队列

RequestQueue requestQueue = NoHttp.newRequestQueue();
// 或者传一个并发值,允许三个请求同时并发
// RequestQueue requestQueue = NoHttp.newRequestQueue(3);

// 发起请求
requestQueue.add(what, request, responseListener);
  上面添加到队列时有一个what,这个what会在responseLisetener响应时回调给开发者,所以我们可以用一个responseLisetener接受多个请求的响应,用what来区分结果。而不用像有的框架一样,每一个请求都要new一个回调。

这个而不用像有的框架一样,每一个请求都要new一个回调。 我觉得还是每次请求都new 一个比较好。
这样不得把很多request 结果处理写到一个listener里头啊

在教程中首先注明要先初始化

我首次使用该框架,按照网上的教程写了个简单的发送get的请求,在运行时报错才知道需要先在Application中先初始化,然而几乎在所有的教程中都没有写明这个一点,希望作者能加上,免得下次新手在使用的过程中才发现需要先初始化

RequestMethod.class的问题

public boolean allowRequestBody() {
boolean allowRequestBody = this == POST || this == PUT || this == PATCH || this == DELETE;
if (Build.VERSION.SDK_INT < AndroidVersion.LOLLIPOP)
allowRequestBody = allowRequestBody && this != DELETE;
return allowRequestBody;
}
目前在安卓6.0上delete方法服务器端拿不到参数,最终追到这里,不知道版主这个方法为什么这样写

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.