排行榜

  • 用户榜
  • 标签榜
  • 冲榜分奖金

频道

最新最热悬赏待采纳 筛选
  • 4

    回答

  • 35

    浏览

uploading1: function () { var that = this wx.chooseImage({ count: 3, // 默认9 sizeType: ['original','compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 let tempFilePaths = res.tempFilePaths console.log(tempFilePaths,"打印第一次") let myDate = new Date() let ossPath = 'seekings/' + myDate.getFullYear() console.log(ossPath,"osspath") for (var i = 0; i < tempFilePaths.length; i++) { // 获取文件后缀 var pathArr = tempFilePaths[i].split('.') console.log(pathArr,"pathArr") // 随机生成文件名称 var fileRandName = Date.now() + "" + parseInt(Math.random() * 1000) console.log(fileRandName,'fileRandName') var fileName = fileRandName + '.' + pathArr[3] console.log(fileName,"fileName") // 要提交的key var fileKey = ossPath + '/' + fileName console.log(fileKey,"fileKey") wx.uploadFile({ // url: 'https://scrkscrk.com/cqz', url:"http://oss-cn-beijing.aliyuncs.com/cqz", filePath: tempFilePaths[i], name: 'file', formData: { name: tempFilePaths[i], key: fileKey, policy: 'policyBase64', OSSAccessKeyId: 'LT89w90ecV00j7', signature: 'nPdwauIvUMkrML0tbC5mtm5HbYW', success_action_status: "200" }, success: function (res) { var data = res.data console.log(data,"12") console.log(res) } }) } that.setData({ upliadImages: res.tempFilePaths }) } }) },  

  • 0

    回答

  • 4

    浏览

请问这样的话,是不是运行起来会很慢: for i in Set_book_id: book_id_nums = book_daily.select('add_users').where(book_daily.book_id == i).rdd.keys().collect() 是不是每次循环rdd都会冲头开始呢? 请求大佬指教了

  • 0

    回答

  • 5

    浏览

交换机8型号:华为3500; 电路带宽:8M; 端口做2层环; 测试过程中,遇到以下问题: 贞长1518,带宽10M,测试结果为8.4M; 贞长1518,带宽8M,测试结果为7M; 贞长为64,带宽为8M,测试结果为4M; 其他信息:测试过程中,设备一直报警(可能是环的原因); 想问问各位大神,这种现象属于什么现象?可以确定的是,网络应该是没问题的,仪器也是没问题的,是不是交换机触发了保护机制?不知道怎么给客户解释?恳请各位大神帮忙解答一下。谢谢!!

  • 0

    回答

  • 17

    浏览

file_get_contents路径带动态参数问题? $url= "http://xx.com/show.php?src=[st:c]";//[st:c]为动态参数 ob_start(); function test ($var) { echo $var; } test("$url"); $content = ob_get_clean(); $str = file_get_contents($content); echo $str; //输出结果为http://xx.com/showlist.php?src=[st:c] echo $url;//输出结果为http://xx.com/show.php?src=xxx(动态参数结果) //请问高手要怎样才能file_get_contents后能把动态参数[st:c]给输出,也就是想让echo $str的输出结果为http://xx.com/showlist.php?src=xxx(动态参数结果)

  • 2

    回答

  • 18

    浏览

我使用java写一个很简单的http代理,只是http代理,所以很简单,  逻辑就是 有缓存文件,读缓存文件,没有缓存文件就转发请求到原始网站。获取回复,保存成本地文件。 完整代码如下: import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.zip.GZIPInputStream; public class Proxy { static int TIMEOUT = 5000; static int BUFFSIZE = 8000; static boolean writeCache = false; static File folder; static File cache; static BufferedWriter bw; public static void main(String[] args) { // the socket server for the browser; System.out.println("listening the port"); int port = 3000; if(args.length > 0){ port = Integer.parseInt( args[0] ); } ServerSocket server = getServerInstant(port); Socket client = null; while (true){ try{ client = server.accept(); }catch (Exception e){ e.printStackTrace(); } try{ // 获取请求的时间 System.out.println( "Timestamp: " + new Date().toString() ); // 整理浏览器发来的请求到一个数据结构中 ArrayList<String> request = getRequest( client ); client.setSoTimeout( TIMEOUT ); server.setSoTimeout( TIMEOUT ); BufferedReader reader; // 读取缓存或者转发请求得到的流的 InputStream html = parsing( request ); StringBuffer text = new StringBuffer(); int t =0; byte[] packet = new byte[BUFFSIZE]; String tmp ; // 准备根据得到的流写入浏览器 PrintWriter out = new PrintWriter( client.getOutputStream(), true ); //GZIPInputStream gzip = new GZIPInputStream( html ); reader = new BufferedReader( new InputStreamReader(html,StandardCharsets.UTF_8) ); // 如果需要写缓存就创建文件创建buffereWriter if(writeCache) creatFileWrieter(); // 给浏览器发流 以及写入缓存 while( ( tmp = reader.readLine()) != null ) { System.out.println(">>"+tmp); if(writeCache) saveCache( tmp ); out.println(tmp); } bw.close(); // out.close(); }catch (java.net.UnknownHostException jnu){ System.out.println("ignore this request"); } catch (Exception e){ e.printStackTrace(); } System.out.println("finish one case."); } } private static void creatFileWrieter() throws IOException { if(!folder.exists()) folder.mkdir(); if(!cache.exists()) cache.createNewFile(); bw = new BufferedWriter( new FileWriter( cache.getPath(),true ) ); } private static void saveCache(String onLineCache) throws Exception{ bw.write( onLineCache + "\r\n"); } // 根据行程list的请求获取反馈(读缓存,或者转发回复) private static InputStream parsing(ArrayList<String> list) throws Exception { if(list.size() <= 1){ return null; } String htmlContent =""; InputStream htmlStream; String requestLine = list.get(0); // split the request into different parts. String splits[] = getFirst(requestLine); System.out.println("request elements :" + Arrays.toString(splits)); folder = new File( "./"+splits[2]+splits[3] ); // System.out.println("cache path: " + folder.getPath()); cache = new File( folder.getPath()+"/default"); // cache is stored // System.out.println("check if there is cache"); // 有缓存文件直接打开文件获得流 if(folder.exists() && cache.exists()) htmlStream = new DataInputStream( new FileInputStream( cache ) ); // 没有缓存 else{ writeCache = true; // forward the request and get response // System.out.println("-------from original"); // 从通过转发方法从服务器获取流 htmlStream = forwardRequest( splits,list ); } // return it back return htmlStream; } // forward the request if there is not a cache // and return the response from the original server. return the InputStream // 转发到服务器,然后获得流 private static InputStream forwardRequest(String[] splits, ArrayList<String> headers) throws IOException { headers.set(0,splits[0] + splits[3] + " " + splits[5] ); headers.set(1,"Host: " + splits[2] ); String newRequest = ""; for(String x : headers){ newRequest += x+"\r\n"; } int port = Integer.parseInt( splits[4] ); // System.out.println("-------------->"+newRequest); Socket proxyclient = new Socket(splits[2],port); // forwarding the request PrintWriter headSender = new PrintWriter(proxyclient.getOutputStream(),true); headSender.println(newRequest); InputStream dis = new DataInputStream( proxyclient.getInputStream() ); return dis; } // get the first line of the headers. // 根据第一行header获取方法名,协议,域名,文件菜单,端口号等相关信息。 private static String[] getFirst(String requestLine) { //[method,http,domain,port,path,version] String[] splits = new String[6]; int i = requestLine.indexOf(" "); int j = requestLine.indexOf(" ",++i); // GET splits[0] = requestLine.substring(0, i); // Protocol splits[5] = requestLine.substring(j+1); String url = requestLine.substring(i, j); String[] urlParts = parseUrl( url ); // http splits[1] = urlParts[0]; // domain splits[2] = urlParts[1]; int k = urlParts[2].lastIndexOf( ":" ); // if there is a port number; // sub domain[3] and port[4]. if(k > 0){ splits[3] = urlParts[2].substring( 0,k ); splits[4] = urlParts[2].substring( k+1 ); }else{ splits[3] = urlParts[2]; splits[4] = "80"; } return splits; } // parse url part in the request // 根据url判断端口号,域名 private static String[] parseUrl(String url){ url = url.substring( 1 ); int i=0,j=0; String[] urlParts = new String[3]; while(i < url.length() && url.charAt(i)!='/')i++; if(i==url.length()){ urlParts[0] = ""; urlParts[1] = url; urlParts[2] = "/"; } // this is the http:// or https:// if(i>0 && url.charAt(i-1)==':' && i+1 < url.length() && url.charAt(i+1)=='/'){ urlParts[0] = url.substring(0,i-1); j = url.indexOf('/',i+=2); if(j>0){ urlParts[1] = url.substring(i, j); urlParts[2] = url.substring(j); } else{ urlParts[1] = url.substring(i); urlParts[2] = "/"; } } else{ urlParts[0] = ""; urlParts[1] = url.substring(0, i); urlParts[2] = url.substring(i); } return urlParts; } // separate the request into the array list. // 根据浏览器发来的内容,将每行请求分别放入list中。 static ArrayList<String> getRequest(Socket client) throws IOException { InputStream is = client.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader( is,"UTF-8" )); ArrayList<String> list = new ArrayList(); int t = 0 ; String tmp ; while((tmp = reader.readLine()) != null){ System.out.println( "into list: " + tmp); list.add( tmp ); // "/r/n" empty line for the end. if(tmp.length() == 0) t++; if(t==1) break; System.out.println(t); } System.out.println("finish"); return list; } // return a ServerSocket Instance static ServerSocket getServerInstant(int port){ ServerSocket server = null; int c = 0; while(server==null && ++c<100){ try { server = new ServerSocket(port); return server; } catch (IOException e) { // renew the port System.out.println("invalid port retry another port: " + port ); } } return null; } }   打开浏览器 输入http://localhost:3000/http://www.bom.gov.au,缓存的内容为乱码。而实际的html文件内容应该是一下代码段的内容, 通过 正常访问,获取 http://www.bom.gov.au的html,如果把内容复制到缓存中,用IE浏览器打开,只能得到一半的html文件,也就是说 浏览器没有收全信息。 只收到了122 行 其实总共有800多行。 可能是读取流文件的时候, 有问题,但是有的网站又能直接打开。 比如输入http://localhost:3000/http://autoidlab.cs.adelaide.edu.au  我怀疑是这个方法: private static InputStream forwardRequest(String[] splits, ArrayList<String> headers) throws IOException { headers.set(0,splits[0] + splits[3] + " " + splits[5] ); headers.set(1,"Host: " + splits[2] ); String newRequest = ""; for(String x : headers){ newRequest += x+"\r\n"; } int port = Integer.parseInt( splits[4] ); // System.out.println("-------------->"+newRequest); Socket proxyclient = new Socket(splits[2],port); // forwarding the request PrintWriter headSender = new PrintWriter(proxyclient.getOutputStream(),true); headSender.println(newRequest); InputStream dis = new DataInputStream( proxyclient.getInputStream() ); return dis; } 或者主方法中: while( ( tmp = reader.readLine()) != null ) { System.out.println(">>"+tmp); if(writeCache) saveCache( tmp ); out.println(tmp); } 这块的问题。 但是我试过很对,甚至一个用byte去发, 也是不行。 望大神赐教

回答 baidu_32461109
采纳率50%
12天前
  • 1

    回答

  • 8

    浏览

目前是内网有一台Centos服务器,外网也有一台Centos服务器,目前的想法是局域网内的用户访问域名的时候指向局域网内的服务器,局域网外的用户也就是互联网访问域名就访问局域网外的服务器,均是Nginx服务,数据要同步,请问该怎么解决? Ps:这么做的目的是预算有限内网服务器配置比较强大带宽也高比较节省外网服务器的资源!

  • 1

    回答

  • 9

    浏览

  初始化第二个net_sock_test会失败,不知道是不是netlink_kernel_create函数里第一个参数init_net是全局变量的问题,请教各位大佬,何种方式能创建多个sock去和用户态通信

  • 0

    回答

  • 8

    浏览

刚刚开始接触Redis想简单应用一下,不懂就问,希望各位大神可以解答一下~ 租了个阿里云服务器,有两个ip地址 在云服务器里装Redis,然后我在自己的电脑上想用Redis Desktop Manager远程连接云服务器里的Redis,想看看里面的数据。 在网上找教程,先在阿里云开放了对应端口,然后在redis.windows-service.conf里,开始填的是bind 阿里云公网IP,启动不了服务,看到有一篇提到是要bind云服务器的内网IP,就试了下把对应私有的那个IP填上去能启动了,在自己电脑上也能通过公网IP连上去了。 之前安装MySQL,在云服务器里开放3306端口,就能在本地用数据库工具填上公网ip和端口号就能连上远程数据库了,这Redis有点不一样,还要先设置bind云服务器的内网IP? 想问下为什么要bind云服务器的内网IP才能在远程访问Redis?  

回答 a_wing啊
采纳率0%
7天前
  • 1

    回答

  • 4

    浏览

做产品测试,目前路由器在连接20分钟左右,就无法联网,需重启才可以,有什么方法设置路由可以长时间联网,有偿求助。