    # File estraierpure.rb, line 732
        def etch_doc_by_uri(uri)
          Utility::check_types({ uri=>String }) if $DEBUG
          @status = -1
          return nil unless @url
          turl = @url + "/etch_doc"
          reqheads = [ "Content-Type: application/x-www-form-urlencoded" ]
          reqheads.push("Authorization: Basic " + Utility::base_encode(@auth)) if @auth
          reqbody = "uri=" + CGI::escape(uri)
          resbody = StringIO::new
          rv = Utility::shuttle_url(turl, @pxhost, @pxport, @timeout, reqheads, reqbody, nil, resbody)
          @status = rv
          return nil if rv != 200
          kwords = {}
          lines = resbody.string.split(/\n/, -1)
          for i in 0...lines.length
            pair = lines[i].split(/\t/)
            next if pair.length < 2
            kwords[pair[0]] = pair[1]
          end
          kwords
        end